Swagger
2022/1/10 6:05:22
本文主要是介绍Swagger,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
官网:https://swagger.io/
一、作用:
1. 使得前后端分离开发更加方便,有利于团队协作
2. 接口的文档在线自动生成,降低后端开发人员编写接口文档的负担
3. 功能测试
Spring已经将Swagger纳入自身的标准,建立了Spring-swagger项目,现在叫Springfox。通过在
项目中引入Springfox ,即可非常简单快捷的使用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. 在对应工程application.properties配置
1 # 应用程序名称 2 spring.application.name=consumer-service 3 # 微服务访问路径 4 server.servlet.context-path=/consumer 5 # 开启swagger 6 swagger.enable=true
swagger.enable=true对应的就是Swagger配置类的@ConditionalOnProperty(prefix = "swagger",value = {"enable"},havingValue = "true")
3. 对应工程下的Swagger配置类
1 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; 2 import org.springframework.context.annotation.Bean; 3 import org.springframework.context.annotation.Configuration; 4 import springfox.documentation.builders.ApiInfoBuilder; 5 import springfox.documentation.builders.PathSelectors; 6 import springfox.documentation.builders.RequestHandlerSelectors; 7 import springfox.documentation.service.ApiInfo; 8 import springfox.documentation.service.Contact; 9 import springfox.documentation.spi.DocumentationType; 10 import springfox.documentation.spring.web.plugins.Docket; 11 import springfox.documentation.swagger2.annotations.EnableSwagger2; 12 13 @Configuration 14 @ConditionalOnProperty(prefix = "swagger",value = {"enable"},havingValue = "true") 15 @EnableSwagger2 //开启swagger注解支持 16 public class SwaggerConfiguration { 17 18 @Bean 19 public Docket buildDocket() { 20 return new Docket(DocumentationType.SWAGGER_2) 21 .apiInfo(buildApiInfo()) 22 .select() 23 // 要扫描的API(Controller)基础包。包扫描 24 .apis(RequestHandlerSelectors.basePackage("cn.xxx.xxxxxx")) 25 .paths(PathSelectors.any()) 26 .build(); 27 } 28 29 private ApiInfo buildApiInfo() { 30 Contact contact = new Contact("名字(公司或作者)","",""); 31 return new ApiInfoBuilder() 32 .title("xxxxxx-用户服务API文档") 33 .description("包含用户服务api") 34 .contact(contact) 35 .version("1.0.0").build(); 36 } 37 }
注意:如果是SpringBoot项目的启动类也要加@EnableSwagger2
4. Swagger常用注解
在Java类中添加Swagger的注解即可生成Swagger接口文档,常用Swagger注解如下:
- @Api:修饰整个类,描述Controller的作用 @ApiOperation:描述一个类的一个方法,或者说一个接口
- @ApiParam:单个参数的描述信息
- @ApiModel:用对象来接收参数
- @ApiModelProperty:用对象接收参数时,描述对象的一个字段
- @ApiResponse:HTTP响应其中1个描述
- @ApiResponses:HTTP响应整体描述
- @ApiIgnore:使用该注解忽略这个API
- @ApiError :发生错误返回的信息
- @ApiImplicitParam:一个请求参数
- @ApiImplicitParams:多个请求参数的描述信息
@ApiImplicitParam属性:
这篇关于Swagger的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-04敏捷管理与看板工具:提升研发、设计、电商团队工作效率的利器
- 2025-01-04智慧养老管理工具如何重塑养老生态?
- 2025-01-04如何打造高绩效销售团队:工具与管理方法的结合
- 2025-01-04解决电商团队协作难题,在线文档工具助力高效沟通
- 2025-01-04春节超市管理工具:解锁高效运营与顾客满意度的双重密码
- 2025-01-046种主流销售预测模型:如何根据场景选用最佳方案
- 2025-01-04外贸服务透明化:增强客户信任与合作的最佳实践
- 2025-01-04重新定义电商团队协作:在线文档工具的战略作用
- 2025-01-04Easysearch Java SDK 2.0.x 使用指南(三)
- 2025-01-04百万架构师第八课:设计模式:设计模式容易混淆的几个对比|JavaGuide