如何快速学习:[1]Swift编程语言,Swift,苹果于2014年WWDC(苹果开发者大会)发布的新开发语言,可与Ojective-C*共同运行于MacOS和iOS平台,用于搭建基于苹果平台的应用程......
2023-03-17 350 编程语言
在之前的讲解的Spring boot和Spring MVC案例中介绍了如何使用Spring boot技术构建和部署RESTful Web Service,既然有服务生产者那么自然就有服务消费者了,在该案例中我们介绍如何使用Spring boot的技术访问RESTful Web Service.
使用Eclipse创建标准的Maven工程,在该工程中加入如下的依赖:
dependencies>
dependency>
groupId>org.springframework.boot/groupId>
artifactId>spring-boot-starter/artifactId>
/dependency>
dependency>
groupId>org.springframework/groupId>
artifactId>spring-web/artifactId>
/dependency>
dependency>
groupId>com.fasterxml.jackson.core/groupId>
artifactId>jackson-databind/artifactId>
/dependency>
在步骤1创建的工程中,创建一个spring boot主类:Application.java
在该类的main方法中使用RestTemplate进行RESTful Web Service的访问
package fantasy;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.client.RestTemplate;
public class Application {
private static final Logger log = LoggerFactory.getLogger(Application.class);
public static void main(String[] args) {
//使用RestTemplate模板获取RESTful服务
RestTemplate restTemplate = new RestTemplate();
String serverUrl = "http://localhost:8080/fileList";
ListString> restResult = restTemplate.getForObject(serverUrl, List.class);
log.info(restResult.toString());
}
}
启动图片列表查看的Restful web service服务
该服务在之前的案例中可以找到对应的构建方法
2Spring MVC/Spring Boot实现图片文件上传和显示
启动RESTful Web Service消费者应用的application主类,进行服务测试
1)使用spring boot模式运行application.java
2) 可以在控制台输出看到Restful web service服务的返回结果
15:41:53.824 [main] INFO fantasy.Application - [http://localhost:8080/files/60M58PIC5gC_1024.jpg]
使用RestTemplate进行Post文件上传服务
在application.java中使用如下方法提交文件到服务器中:
RestTemplate restTemplate = new RestTemplate();
//使用RestTemplate post提交文件
String postUrl = "http://localhost:8080/upload";
MultiValueMapString,Object> request =new LinkedMultiValueMapString,Object>();
FileSystemResource file=new FileSystemResource("E:/mm/m1.jpg");
if(file!=null)
{
request.add("file",file);
}
ResponseEntityString> rst = restTemplate.postForEntity(postUrl, request, String.class);
log.info("Post File to Server:" rst);
进行文件上传、文件列表查看测试
可以看到文件上传的日志和文件列表查看的日志:
16:23:56.191 [main] INFO fantasy.Application - Post File to Server:302 Found,{Set-Cookie=[JSESSIONID=6F0426D8AA4272E3B79C203D32EBB088; Path=/; HttpOnly], Location=[http://localhost:8080/result;jsessionid=6F0426D8AA4272E3B79C203D32EBB088], Content-Language=[zh-CN], Content-Length=[0], Date=[Tue, 09 Jan 2018 08:23:56 GMT]}>
16:23:56.248 [main] INFO fantasy.Application - [http://localhost:8080/files/60M58PIC5gC_1024.jpg, http://localhost:8080/files/m1.jpg]
消费者服务类Application.java完整代码如下
package fantasy;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.core.io.FileSystemResource;
import org.springframework.http.ResponseEntity;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
public class Application {
private static final Logger log = LoggerFactory.getLogger(Application.class);
public static void main(String[] args) {
RestTemplate restTemplate = new RestTemplate();
//使用RestTemplate post提交文件
String postUrl = "http://localhost:8080/upload";
MultiValueMapString,Object> request =new LinkedMultiValueMapString,Object>();
FileSystemResource file=new FileSystemResource("E:/mm/m1.jpg");
if(file!=null)
{
request.add("file",file);
}
ResponseEntityString> rst = restTemplate.postForEntity(postUrl, request, String.class);
log.info("Post File to Server:" rst);
//使用RestTemplate模板获取RESTful服务:查看文件列表
String serverUrl = "http://localhost:8080/fileList";
ListString> restResult = restTemplate.getForObject(serverUrl, List.class);
log.info(restResult.toString());
}
}
以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!
标签: 编程语言
相关文章
如何快速学习:[1]Swift编程语言,Swift,苹果于2014年WWDC(苹果开发者大会)发布的新开发语言,可与Ojective-C*共同运行于MacOS和iOS平台,用于搭建基于苹果平台的应用程......
2023-03-17 350 编程语言
web图表开发工具FineReport:[11]连续分组,数据库表数据是按照时间先后录入的,查询的时候希望按照时间先后,某个字段连续相同的话就合并起来显示,这样的报表可以通过相邻连续分组来实现。......
2023-03-17 574 编程语言