当前位置:   article > 正文

swagger 自动生成API文档_swagger map参数生成文档

swagger map参数生成文档

springboot项目中使用swagger

目录

springboot项目中使用swagger

1:引入依赖

2:配置swagger

3:配置静态文件位置

4:讲解swagger常用注解

 

 

1:引入依赖

  1. <swagger.version>2.7.0</swagger.version>
  2. <!--swagger -->
  3. <dependency>
  4. <groupId>io.springfox</groupId>
  5. <artifactId>springfox-swagger2</artifactId>
  6. <version>${swagger.version}</version>
  7. </dependency>
  8. <dependency>
  9. <groupId>io.springfox</groupId>
  10. <artifactId>springfox-swagger-ui</artifactId>
  11. <version>${swagger.version}</version>
  12. </dependency>

2:配置swagger

  1. @Configuration
  2. @EnableSwagger2
  3. public class Swagger2Configuration {
  4. /**
  5. * 创建API应用
  6. * apiInfo() 增加API相关信息
  7. * 通过select()函数返回一个ApiSelectorBuilder实例,用来控制哪些接口暴露给Swagger来展现,
  8. * 本例采用指定扫描的包路径来定义指定要建立API的目录。
  9. *
  10. * @return
  11. */
  12. @Bean
  13. public Docket createRestApi() {
  14. return new Docket(DocumentationType.SWAGGER_2)
  15. // .host("localhost:8080")
  16. .apiInfo(apiInfo())
  17. .select()
  18. // 包下的类,才生成接口文档
  19. .apis(RequestHandlerSelectors.basePackage("com.manager.controller"))
  20. .paths(PathSelectors.any()) // 可以根据url路径设置哪些请求加入文档,忽略哪些请求
  21. .build();
  22. }
  23. /**
  24. * 创建该API的基本信息(这些基本信息会展现在文档页面中)
  25. * 访问地址:http://项目实际地址/swagger-ui.html
  26. *
  27. * @return
  28. */
  29. private ApiInfo apiInfo() {
  30. return new ApiInfoBuilder()
  31. .title("决策") //设置文档的标题
  32. .description("API 接口文档") // 设置文档的描述
  33. .termsOfServiceUrl("http://www.baidu.com/")
  34. .version("1.0.0") // 设置文档的版本信息-> 1.0.0 Version information
  35. .build();
  36. }
  37. }

3:配置静态文件位置

  1. @Configuration
  2. public class CorsConfig implements WebMvcConfigurer {
  3. @Override
  4. public void addResourceHandlers(ResourceHandlerRegistry registry) {
  5. registry.addResourceHandler("/**").addResourceLocations("classpath:/static/");
  6. registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
  7. registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
  8. }
  9. }

或者在配置文件里指定:

  1. spring
  2. resources:
  3. static-locations: classpath:/static/,classpath:/META-INF/resources/,classpath:/META-INF/resources/webjars/

之所以配置是因为我么可以查看swagger文档html文件位置:

配置完成后只需要在浏览器输入栏输入地址:http://localhost:8082/swagger-ui.html(8082是服务启动的port)

 

4:讲解swagger常用注解

作用在controller层的注解:

  1. @Api(tags = "业务数据API接口文档")
  2. Api 用在类上,说明该类的作用。可以标记一个Controller类做为swagger 文档资源。
  3. 常用属性大致:
  4. value:url的路径值
  5. tag:标签,如果设置这个值,value的值会被覆盖
  6. description: 对APi资源进行描述
  7. basepath:基本路径可以不配置
  8. produces: 如application/json,application/xml 主要配置请求的样式
  9. consumes 和produces一样
  10. hidden:配置为true 将在文档中隐藏

 

  1. @ApiOperation(value = "统计业务领域主体", notes = "统计主体下拉列表")
  2. ApiOperation 用在方法上,说明方法的作用
  3. @ApiImplicitParam(name = "params", value = "map参数", dataType = "{ ?page=1&limit=1}", paramType = "query")
  4. ApiImplicitParam用来描述请求参数的信息
  5. @ApiImplicitParams 可以包含多个ApiImplicitParam
  6. ApiParam请求属性,使用方式:
  7. public ResponseEntity<User> createUser(@RequestBody @ApiParam(value = "Created user object", required = true)  User user)
  8. ApiResponse:响应配置,使用方式:
  9. @ApiResponse(code = 400, message = "Invalid user supplied")
  10. ApiResponses:响应集配置,使用方式:
  11. @ApiResponses({ @ApiResponse(code = 400, message = "Invalid Order") })

用在实体类上的注解:

  1. @ApiModel()用于类 ;表示对类进行说明,用于参数用实体类接收 
  2. @ApiModel(value = "业务主体实体类")
  3. 属性:
  4. value–表示对象名 
  5. description–描述 
  6. @ApiModelProperty()用于方法 表示对model属性的说明或者数据操作更改 
  7. @ApiModelProperty(value = "业务主体编码")
  8. value–字段说明 
  9. name–重写属性名字 
  10. dataType–重写属性类型 
  11. required–是否必填 
  12. example–举例说明 
  13. hidden–隐藏
  14. @ApiIgnore()用于类或者方法上,可以不被swagger显示在页面上 

 

 

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

闽ICP备14008679号