当前位置:   article > 正文

springboot项目中使用Swagger_springboot swagger

springboot swagger

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

1、Swagger是啥

Swagger 是一个用于生成、描述和调用 RESTful 接口的 Web 服务。通俗的来讲,Swagger 就是将项目中所有(想要暴露的)接口展现在页面上,并且可以进行接口调用和测试的服务。 Swagger 官网地址:https://swagger.io/

2、Swagger有什么用?

 Swagger 有以下 3 个重要的作用:将项目中所有的接口展现在页面上,这样后端程序员就不需要专门为前端使用者编写专门的接口文档;当接口更新之后,只需要修改代码中的 Swagger 描述就可以实时生成新的接口文档了,从而规避了接口文档老旧不能使用的问题;通过 Swagger 页面,我们可以直接进行接口调用,方便我们开发。

3、springboot中如何引入Swagger

1)在如依赖

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

2)创建一个controller类

  1. import org.springframework.web.bind.annotation.PostMapping;
  2. import org.springframework.web.bind.annotation.RestController;
  3. @RestController
  4. public class TestController {
  5. @PostMapping("/hello")
  6. public String hello(String str){
  7. return "hello,"+str;
  8. }
  9. }

3)再创建一个Swagger配置类SwaggerConfig类

  1. @Configuration
  2. @EnableSwagger2//开始Swagger2
  3. public class SwaggerConfig {
  4. //配置了Swagger 的Docket的bean实例
  5. @Bean
  6. public Docket docket(){
  7. ParameterBuilder ticketPar = new ParameterBuilder();
  8. List<Parameter> pars = new ArrayList<>();
  9. ticketPar.name("Authorization").description("token")//Token 以及Authorization 为自定义的参数,session保存的名字是哪个就可以写成那个
  10. .modelRef(new ModelRef("string")).parameterType("header")
  11. .required(false).build(); //header中的ticket参数非必填,传空也可以
  12. pars.add(ticketPar.build()); //根据每个方法名也知道当前方法在设置什么参数
  13. return new Docket(DocumentationType.SPRING_WEB)
  14. .apiInfo(apiInfo())
  15. .select()
  16. //RequestHandlerSelectors, 配置要扫描接口的方式
  17. //basePackage:指定要扫描的包
  18. //any():扫描全部
  19. //withClassAnnotation: 扫描类上的注解
  20. //withMethodAnnotation: 扫描方法上的注解
  21. .apis(RequestHandlerSelectors.basePackage("com.example.swagger.controller"))
  22. .build()
  23. .globalOperationParameters(pars);
  24. }
  25. //配置Swagger 信息=apiInfo
  26. private ApiInfo apiInfo(){
  27. return new ApiInfo(
  28. "Logistics Api",//文檔命名
  29. "test",//文檔描述
  30. "v1.0",//
  31. "http:127.0.0.1/",
  32. null,//contact
  33. "Apache 2.0",
  34. "http://www.apache.org/licenses/LICENSE-2.0",
  35. new ArrayList()
  36. );
  37. }
  38. }

注意!

注意!

注意!

把apis(RequestHandlerSelectors.basePackage("com.example.swagger.controller"))中的

“com.example.swagger.controller ”路径写成你自己的controller包的路径

4、项目的总体结构

5、通过网址访问网页

在完成以上步骤之后点击运行,等运行完后再在浏览器中访问以下网址:

http://127.0.0.1:8080/swagger-ui.html#/

这里的端口要改为自己的端口。

效果如图所示

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/939802
推荐阅读
相关标签
  

闽ICP备14008679号