经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » Java相关 » Spring » 查看文章
Spring boot整合Springfox生成restful的在线api文档
来源:jb51  时间:2022/3/8 10:43:23  对本文有异议

Springfox是什么,有什么用?

Springfox基于Swagger,能更方便的集成到spring boot 中,Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。Swagger的目标是对REST API定义一个标准的和语言无关的接口,可让人和计算机无需访问源码、文档或网络流量监测就可以发现和理解服务的能力。当通过Swagger进行正确定义,用户可以理解远程服务并使用最少实现逻辑与远程服务进行交互。与为底层编程所实现的接口类似,Swagger消除了调用服务时可能会有的猜测。

Springfox官方文档:http://springfox.github.io/springfox/docs/snapshot/

Springfox的依赖

  1. <dependency>
  2. <groupId>io.springfox</groupId>
  3. <artifactId>springfox-swagger2</artifactId>
  4. <version>2.4.0</version>
  5. </dependency>
  6. <dependency>
  7. <groupId>io.springfox</groupId>
  8. <artifactId>springfox-swagger-ui</artifactId>
  9. <version>2.4.0</version>
  10. </dependency>

Springfox的配置

  1. @Configuration
  2. @EnableSwagger2
  3. public class SwaggerConfig {
  4. @Bean
  5. public Docket demoApi() {
  6. return new Docket(DocumentationType.SWAGGER_2)
  7. .groupName("demo")
  8. .genericModelSubstitutes(DeferredResult.class)
  9. .useDefaultResponseMessages(false)
  10. .forCodeGeneration(false)
  11. //.pathMapping("/") //根路径
  12. .select()
  13. .paths(PathSelectors.regex("/user/.*"))//筛选展示的接口,使用PathSelectors.any(),展示所有接口
  14. .build()
  15. .apiInfo(demoApiInfo())
  16. ;
  17. }
  18. //api信息
  19. private ApiInfo demoApiInfo() {
  20. ApiInfo apiInfo = new ApiInfo("自己平台的api",//大标题
  21. "swagger搭建api平台",//小标题
  22. "1.0",//版本
  23. "NO terms of service",
  24. "632104866@qq.com",//作者
  25. "这是我的技术博客站点",//链接显示文字
  26. "http://www.kailing.pub"//网站链接
  27. );
  28. return apiInfo;
  29. }
  30. }

测试的Controll

  1. @RestController
  2. @RequestMapping("/user")
  3. public class SwaggerDemoController {
  4. @RequestMapping(value = "/demo2",method = RequestMethod.POST)
  5. @ApiOperation(value="测试接口1", notes="测试接口详细描述")
  6. @ResponseBody
  7. ModelMap getDemo(@RequestBody User user) {
  8. ModelMap map = new ModelMap();
  9. map.addAttribute("userId", 111);
  10. map.addAttribute("userName", "kl博客");
  11. return map;
  12. }
  13. @ResponseBody
  14. @RequestMapping(value = "/demo3", method = RequestMethod.POST)
  15. @ApiOperation(value="测试接口2", notes="测试接口详细描述",code = 200,produces = "application/json")
  16. public ModelMap getDemoa(@RequestParam("name") String demoName, @RequestParam String content) {
  17. ModelMap map = new ModelMap();
  18. map.addAttribute("result",demoName + "AAA");
  19. return map;
  20. }
  21. @ResponseBody
  22. @ApiIgnore //使用这个注解忽略这个接口
  23. @RequestMapping(value = "/demo4", method = RequestMethod.POST)
  24. public ModelMap getDemob(@RequestParam String content) {
  25. ModelMap map = new ModelMap();
  26. map.addAttribute("result",new java.util.Date());
  27. return map;
  28. }
  29. }

 在浏览器输入http://localhost:8080/swagger-ui.html,可查看是否整合成功

至此我们的额api在线文档整合完成了,下面是效果图

以上就是Spring boot整合Springfox生成restful的在线api文档的详细内容,更多关于Spring boot整合Springfox生成restful在线api的资料请关注w3xue其它相关文章!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号