首页 > 软件开发 > 编程语言 >

如何使用Spring boot访问RESTful Web Service

来源:互联网 2023-03-17 00:18:20 版权归原作者所有,如有侵权,请联系我们

在之前的讲解的Spring boot和Spring MVC案例中介绍了如何使用Spring boot技术构建和部署RESTful Web Service,既然有服务生产者那么自然就有服务消费者了,在该案例中我们介绍如何使用Spring boot的技术访问RESTful Web Service.pjL办公区 - 实用经验教程分享!

工具/原料

  • Eclipse
  • Jdk 1.8
  • Spring boot

方法/步骤

  • 1

    使用Eclipse创建标准的Maven工程,在该工程中加入如下的依赖:pjL办公区 - 实用经验教程分享!

    dependencies>pjL办公区 - 实用经验教程分享!

    dependency>pjL办公区 - 实用经验教程分享!

    groupId>org.springframework.boot/groupId>pjL办公区 - 实用经验教程分享!

    artifactId>spring-boot-starter/artifactId>pjL办公区 - 实用经验教程分享!

    /dependency>pjL办公区 - 实用经验教程分享!

    dependency>pjL办公区 - 实用经验教程分享!

    groupId>org.springframework/groupId>pjL办公区 - 实用经验教程分享!

    artifactId>spring-web/artifactId>pjL办公区 - 实用经验教程分享!

    /dependency>pjL办公区 - 实用经验教程分享!

    dependency>pjL办公区 - 实用经验教程分享!

    groupId>com.fasterxml.jackson.core/groupId>pjL办公区 - 实用经验教程分享!

    artifactId>jackson-databind/artifactId>pjL办公区 - 实用经验教程分享!

    /dependency>pjL办公区 - 实用经验教程分享!

    如何使用Spring boot访问RESTful Web ServicepjL办公区 - 实用经验教程分享!

  • 2

    在步骤1创建的工程中,创建一个spring boot主类:Application.javapjL办公区 - 实用经验教程分享!

    在该类的main方法中使用RestTemplate进行RESTful Web Service的访问pjL办公区 - 实用经验教程分享!

    pjL办公区 - 实用经验教程分享!

    package fantasy;pjL办公区 - 实用经验教程分享!

    pjL办公区 - 实用经验教程分享!

    import java.util.List;pjL办公区 - 实用经验教程分享!

    pjL办公区 - 实用经验教程分享!

    import org.slf4j.Logger;pjL办公区 - 实用经验教程分享!

    import org.slf4j.LoggerFactory;pjL办公区 - 实用经验教程分享!

    import org.springframework.web.client.RestTemplate;pjL办公区 - 实用经验教程分享!

    pjL办公区 - 实用经验教程分享!

    public class Application {pjL办公区 - 实用经验教程分享!

    pjL办公区 - 实用经验教程分享!

    private static final Logger log = LoggerFactory.getLogger(Application.class);pjL办公区 - 实用经验教程分享!

    pjL办公区 - 实用经验教程分享!

    public static void main(String[] args) {pjL办公区 - 实用经验教程分享!

    //使用RestTemplate模板获取RESTful服务pjL办公区 - 实用经验教程分享!

    RestTemplate restTemplate = new RestTemplate();pjL办公区 - 实用经验教程分享!

    String serverUrl = "http://localhost:8080/fileList";pjL办公区 - 实用经验教程分享!

    ListString> restResult = restTemplate.getForObject(serverUrl, List.class);pjL办公区 - 实用经验教程分享!

    log.info(restResult.toString());pjL办公区 - 实用经验教程分享!

    }pjL办公区 - 实用经验教程分享!

    pjL办公区 - 实用经验教程分享!

    }pjL办公区 - 实用经验教程分享!

    如何使用Spring boot访问RESTful Web ServicepjL办公区 - 实用经验教程分享!

  • 3

    启动图片列表查看的Restful web service服务pjL办公区 - 实用经验教程分享!

    该服务在之前的案例中可以找到对应的构建方法pjL办公区 - 实用经验教程分享!

    2Spring MVC/Spring Boot实现图片文件上传和显示pjL办公区 - 实用经验教程分享!

  • 4

    启动RESTful Web Service消费者应用的application主类,进行服务测试pjL办公区 - 实用经验教程分享!

    1)使用spring boot模式运行application.javapjL办公区 - 实用经验教程分享!

    2) 可以在控制台输出看到Restful web service服务的返回结果pjL办公区 - 实用经验教程分享!

    15:41:53.824 [main] INFO fantasy.Application - [http://localhost:8080/files/60M58PIC5gC_1024.jpg]pjL办公区 - 实用经验教程分享!

    如何使用Spring boot访问RESTful Web ServicepjL办公区 - 实用经验教程分享!

  • 5

    使用RestTemplate进行Post文件上传服务pjL办公区 - 实用经验教程分享!

    在application.java中使用如下方法提交文件到服务器中:pjL办公区 - 实用经验教程分享!

    pjL办公区 - 实用经验教程分享!

    RestTemplate restTemplate = new RestTemplate();pjL办公区 - 实用经验教程分享!

    //使用RestTemplate post提交文件pjL办公区 - 实用经验教程分享!

    String postUrl = "http://localhost:8080/upload";pjL办公区 - 实用经验教程分享!

    MultiValueMapString,Object> request =new LinkedMultiValueMapString,Object>();pjL办公区 - 实用经验教程分享!

    FileSystemResource file=new FileSystemResource("E:/mm/m1.jpg");pjL办公区 - 实用经验教程分享!

    if(file!=null)pjL办公区 - 实用经验教程分享!

    {pjL办公区 - 实用经验教程分享!

    request.add("file",file);pjL办公区 - 实用经验教程分享!

    }pjL办公区 - 实用经验教程分享!

    ResponseEntityString> rst = restTemplate.postForEntity(postUrl, request, String.class);pjL办公区 - 实用经验教程分享!

    log.info("Post File to Server:" rst);pjL办公区 - 实用经验教程分享!

    如何使用Spring boot访问RESTful Web ServicepjL办公区 - 实用经验教程分享!

  • 6

    进行文件上传、文件列表查看测试pjL办公区 - 实用经验教程分享!

    可以看到文件上传的日志和文件列表查看的日志:pjL办公区 - 实用经验教程分享!

    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]}>pjL办公区 - 实用经验教程分享!

    pjL办公区 - 实用经验教程分享!

    16:23:56.248 [main] INFO fantasy.Application - [http://localhost:8080/files/60M58PIC5gC_1024.jpg, http://localhost:8080/files/m1.jpg]pjL办公区 - 实用经验教程分享!

    如何使用Spring boot访问RESTful Web ServicepjL办公区 - 实用经验教程分享!

  • 6相关内容未经许可获取自百度经验
  • 7

    消费者服务类Application.java完整代码如下pjL办公区 - 实用经验教程分享!

    pjL办公区 - 实用经验教程分享!

    package fantasy;pjL办公区 - 实用经验教程分享!

    pjL办公区 - 实用经验教程分享!

    import java.util.List;pjL办公区 - 实用经验教程分享!

    pjL办公区 - 实用经验教程分享!

    import org.slf4j.Logger;pjL办公区 - 实用经验教程分享!

    import org.slf4j.LoggerFactory;pjL办公区 - 实用经验教程分享!

    import org.springframework.core.io.FileSystemResource;pjL办公区 - 实用经验教程分享!

    import org.springframework.http.ResponseEntity;pjL办公区 - 实用经验教程分享!

    import org.springframework.util.LinkedMultiValueMap;pjL办公区 - 实用经验教程分享!

    import org.springframework.util.MultiValueMap;pjL办公区 - 实用经验教程分享!

    import org.springframework.web.client.RestTemplate;pjL办公区 - 实用经验教程分享!

    pjL办公区 - 实用经验教程分享!

    public class Application {pjL办公区 - 实用经验教程分享!

    pjL办公区 - 实用经验教程分享!

    private static final Logger log = LoggerFactory.getLogger(Application.class);pjL办公区 - 实用经验教程分享!

    pjL办公区 - 实用经验教程分享!

    public static void main(String[] args) {pjL办公区 - 实用经验教程分享!

    pjL办公区 - 实用经验教程分享!

    RestTemplate restTemplate = new RestTemplate();pjL办公区 - 实用经验教程分享!

    //使用RestTemplate post提交文件pjL办公区 - 实用经验教程分享!

    String postUrl = "http://localhost:8080/upload";pjL办公区 - 实用经验教程分享!

    MultiValueMapString,Object> request =new LinkedMultiValueMapString,Object>();pjL办公区 - 实用经验教程分享!

    FileSystemResource file=new FileSystemResource("E:/mm/m1.jpg");pjL办公区 - 实用经验教程分享!

    if(file!=null)pjL办公区 - 实用经验教程分享!

    {pjL办公区 - 实用经验教程分享!

    request.add("file",file);pjL办公区 - 实用经验教程分享!

    }pjL办公区 - 实用经验教程分享!

    ResponseEntityString> rst = restTemplate.postForEntity(postUrl, request, String.class);pjL办公区 - 实用经验教程分享!

    log.info("Post File to Server:" rst);pjL办公区 - 实用经验教程分享!

    pjL办公区 - 实用经验教程分享!

    //使用RestTemplate模板获取RESTful服务:查看文件列表pjL办公区 - 实用经验教程分享!

    pjL办公区 - 实用经验教程分享!

    String serverUrl = "http://localhost:8080/fileList";pjL办公区 - 实用经验教程分享!

    ListString> restResult = restTemplate.getForObject(serverUrl, List.class);pjL办公区 - 实用经验教程分享!

    pjL办公区 - 实用经验教程分享!

    log.info(restResult.toString());pjL办公区 - 实用经验教程分享!

    }pjL办公区 - 实用经验教程分享!

    pjL办公区 - 实用经验教程分享!

    }pjL办公区 - 实用经验教程分享!

  • 以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!pjL办公区 - 实用经验教程分享!


    标签: 编程语言

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号