首页 > 电脑专区 > 电脑教程 >

如何使用Spring boot实现和发布Restful服务

来源:互联网 2023-02-21 18:19:21 104

Spring boot是一个非常简洁的应用运行时框架,既可以发布web服务也可以发布Restful服务,在这里根据之前的Spring MVC和Spring boot开发经验,继续提供一个使用spring boot发布一个上传文件列表查看的服务。Xip办公区 - 实用经验教程分享!

1)常规RESTful Web ServiceXip办公区 - 实用经验教程分享!

2) Hypermedia-Driven RESTful Web ServiceXip办公区 - 实用经验教程分享!

1使用Spring和JQuery实现视频文件的上传和播放Xip办公区 - 实用经验教程分享!

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

工具/原料

  • Eclipse
  • Spring boot

方法/步骤

  • 1

    在《使用Spring和JQuery实现视频文件的上传和播放》案例中项目的基础上增加一个Restful服务的Controller:FileServerRestController.javaXip办公区 - 实用经验教程分享!

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

    package image;Xip办公区 - 实用经验教程分享!

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

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

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

    import java.util.stream.Collectors;Xip办公区 - 实用经验教程分享!

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

    import org.springframework.beans.factory.annotation.Autowired;Xip办公区 - 实用经验教程分享!

    import org.springframework.web.bind.annotation.RequestMapping;Xip办公区 - 实用经验教程分享!

    import org.springframework.web.bind.annotation.RestController;Xip办公区 - 实用经验教程分享!

    import org.springframework.web.servlet.mvc.method.annotation.MvcUriComponentsBuilder;Xip办公区 - 实用经验教程分享!

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

    import image.storage.StorageService;Xip办公区 - 实用经验教程分享!

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

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

    /**Xip办公区 - 实用经验教程分享!

    * 文件上传服务控制器Xip办公区 - 实用经验教程分享!

    * @author FantasyXip办公区 - 实用经验教程分享!

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

    */Xip办公区 - 实用经验教程分享!

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

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

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

    private final StorageService storageService;Xip办公区 - 实用经验教程分享!

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

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

    public FileServerRestController(StorageService storageService) {Xip办公区 - 实用经验教程分享!

    this.storageService = storageService;Xip办公区 - 实用经验教程分享!

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

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

    @RequestMapping("fileList")Xip办公区 - 实用经验教程分享!

    public ListString> getFileList(String fileName) {Xip办公区 - 实用经验教程分享!

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

    ListString> rst = storageService.loadAll().map(Xip办公区 - 实用经验教程分享!

    path -> MvcUriComponentsBuilder.fromMethodName(FileUploadController.class,Xip办公区 - 实用经验教程分享!

    "serveFile", path.getFileName().toString()).build().toString())Xip办公区 - 实用经验教程分享!

    .collect(Collectors.toList());Xip办公区 - 实用经验教程分享!

    return rst;Xip办公区 - 实用经验教程分享!

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

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

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

    如何使用Spring boot实现和发布Restful服务Xip办公区 - 实用经验教程分享!

  • 2

    重点说明一下控制器的实现原理Xip办公区 - 实用经验教程分享!

    1)控制器需要使用@RestController注解, 不要使用@ControllerXip办公区 - 实用经验教程分享!

    2) Restful的访问URL地址为 /fileList ,返回值为字符串的List对象Xip办公区 - 实用经验教程分享!

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

    @RequestMapping("fileList")Xip办公区 - 实用经验教程分享!

    public ListString> getFileList(String fileName) {Xip办公区 - 实用经验教程分享!

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

    ListString> rst = storageService.loadAll().map(Xip办公区 - 实用经验教程分享!

    path -> MvcUriComponentsBuilder.fromMethodName(FileUploadController.class,Xip办公区 - 实用经验教程分享!

    "serveFile", path.getFileName().toString()).build().toString())Xip办公区 - 实用经验教程分享!

    .collect(Collectors.toList());Xip办公区 - 实用经验教程分享!

    return rst;Xip办公区 - 实用经验教程分享!

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

    如何使用Spring boot实现和发布Restful服务Xip办公区 - 实用经验教程分享!

  • 3

    进行测试Restful服务前,需要使用之前的 《Spring MVC/Spring Boot实现图片文件上传和显示》案例经验,进行文件的上传操作Xip办公区 - 实用经验教程分享!

    1)运行Application.java启动Spring boot容器框架Xip办公区 - 实用经验教程分享!

    2)在浏览器中输入URL地址:http://localhost:8080/upload 进行图片文件的上传操作Xip办公区 - 实用经验教程分享!

    3)连续上传3张照片Xip办公区 - 实用经验教程分享!

    如何使用Spring boot实现和发布Restful服务Xip办公区 - 实用经验教程分享!

    如何使用Spring boot实现和发布Restful服务Xip办公区 - 实用经验教程分享!

    如何使用Spring boot实现和发布Restful服务Xip办公区 - 实用经验教程分享!

  • 3相关内容未经许可获取自百度经验
  • 4

    使用步骤2)创建的Restful服务获取步骤3上传的文件列表,进行Restful服务消费Xip办公区 - 实用经验教程分享!

    1)在浏览器URL地址栏中输入restful的地址:http://localhost:8080/fileListXip办公区 - 实用经验教程分享!

    可以看到页面的返回结果Xip办公区 - 实用经验教程分享!

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

    ["http://localhost:8080/files/60M58PIC5gC_1024.jpg","http://localhost:8080/files/u=1952160410,566496358&fm=27&gp=0.jpg","http://localhost:8080/files/u=3104684101,3964017121&fm=27&gp=0.jpg"]Xip办公区 - 实用经验教程分享!

    如何使用Spring boot实现和发布Restful服务Xip办公区 - 实用经验教程分享!

  • 5

    使用Spring boot实现超媒体数据结构的RESTful Web Service:Xip办公区 - 实用经验教程分享!

    在FileServerRestController控制器中增加一下方法:Xip办公区 - 实用经验教程分享!

    /**Xip办公区 - 实用经验教程分享!

    * 实现Hypermedia-Driven RESTful Web ServiceXip办公区 - 实用经验教程分享!

    * @param fileNameXip办公区 - 实用经验教程分享!

    * @returnXip办公区 - 实用经验教程分享!

    */Xip办公区 - 实用经验教程分享!

    @RequestMapping("fileListByHateoas")Xip办公区 - 实用经验教程分享!

    public HttpEntityFileInfo> getFileListHateoas(String fileName) {Xip办公区 - 实用经验教程分享!

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

    ListString> rst = storageService.loadAll().map(Xip办公区 - 实用经验教程分享!

    path -> MvcUriComponentsBuilder.fromMethodName(FileUploadController.class,Xip办公区 - 实用经验教程分享!

    "serveFile", path.getFileName().toString()).build().toString())Xip办公区 - 实用经验教程分享!

    .collect(Collectors.toList());Xip办公区 - 实用经验教程分享!

    FileInfo fileInfo = new FileInfo(rst.toString());Xip办公区 - 实用经验教程分享!

    fileInfo.add(ControllerLinkBuilder.linkTo(ControllerLinkBuilder.methodOn(FileServerRestController.class).getFileListHateoas(fileName)).withSelfRel());Xip办公区 - 实用经验教程分享!

    return new ResponseEntityFileInfo>(fileInfo,HttpStatus.OK);Xip办公区 - 实用经验教程分享!

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

    如何使用Spring boot实现和发布Restful服务Xip办公区 - 实用经验教程分享!

  • 6

    使用Spring boot实现超媒体数据结构的RESTful Web Service:Xip办公区 - 实用经验教程分享!

    同时需要在maven工程中增加spring-boot-starter-hateoas和json-path包依赖Xip办公区 - 实用经验教程分享!

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

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

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

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

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

    groupId>com.jayway.jsonpath/groupId>Xip办公区 - 实用经验教程分享!

    artifactId>json-path/artifactId>Xip办公区 - 实用经验教程分享!

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

    如何使用Spring boot实现和发布Restful服务Xip办公区 - 实用经验教程分享!

  • 7

    使用Spring boot实现超媒体数据结构的RESTful Web Service:测试Xip办公区 - 实用经验教程分享!

    在浏览器中输入:http://localhost:8080/fileListByHateoasXip办公区 - 实用经验教程分享!

    可以看到页面的输出结果:Xip办公区 - 实用经验教程分享!

    {"content":"[http://localhost:8080/files/60M58PIC5gC_1024.jpg, http://localhost:8080/files/m1.jpg, http://localhost:8080/files/u=1952160410,566496358&fm=27&gp=0.jpg]",Xip办公区 - 实用经验教程分享!

    "_links":{Xip办公区 - 实用经验教程分享!

    "self":{Xip办公区 - 实用经验教程分享!

    "href":"http://localhost:8080/fileListByHateoas"Xip办公区 - 实用经验教程分享!

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

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

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

    如何使用Spring boot实现和发布Restful服务Xip办公区 - 实用经验教程分享!

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


    标签: 操作系统使用实现发布服务

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