springboot添加swagger
1、引入依赖
<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.7.0</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.7.0</version> </dependency>
2、创建swagger配置类
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration
@EnableSwagger2
public class Swagger2 {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.chaos.api"))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("chaos服务API")
.description("chaosAPI服务")
.version("1.0")
.build();
}
}对应swagger名称,访问地址:http://localhost:8102/swagger-ui.html,8102为项目端口号

3、在API类上添加注解
@Api()
用于类;表示标识这个类是swagger的资源
tags–表示说明
value–也是说明,可以使用tags替代
@Api(tags={"测试swagger"})
public class MemberApi {
}
@ApiOperation() 用于方法;表示一个http请求的操作
value用于方法描述
notes用于提示内容
tags可以重新分组(视情况而用)
@ApiParam() 用于方法,参数,字段说明;表示对参数的添加元数据(说明或是否必填等)
name–参数名
value–参数说明
required–是否必填
@RequestMapping(value="/testSwagger2",method=RequestMethod.POST)
@ApiOperation(value="测试swagger--传单个参数",notes="注意问题点")
public void testSwagger2(@ApiParam(name="id",value="用户id",required=true) Long id,@ApiParam(name="userName",value="用户名",required=true) String userName) {
}
传对象
@RequestMapping(value="/testSwagger1",method=RequestMethod.POST)
@ApiOperation(value="测试swagger-传对象 ",notes="注意问题点")
public void testSwagger1(@RequestBody Member member) {
}
@ApiIgnore()用于类或者方法上,可以不被swagger显示在页面上
比较简单, 这里不做举例

浙公网安备 33010602011771号