在pom文件中引入swagger依赖
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
装配Bean
@Configuration
@EnableSwagger2
public class SwaggerConfig {
private final String PATH="com.lazy.mago.controller";
@Bean
public Docket creatRestApi(){
return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()
.apis(RequestHandlerSelectors.basePackage(PATH))//指定包
.paths(PathSelectors.any()).build();
}
public ApiInfo apiInfo(){
return new ApiInfoBuilder()
.title("springboot整合swagger构建api文档")//标题
.description("restfull风格的Api")//描述
.version("1.0.0")//版本
.build();
}
}
编写文档注释
swagger通过注解表明该接口会生成文档,包括接口名、请求方法、参数、返回信息的等等。
- @Api:修饰整个类,描述Controller的作用
- @ApiOperation:描述一个类的一个方法,或者说一个接口
- @ApiParam:单个参数描述
- @ApiModel:用对象来接收参数
- @ApiProperty:用对象接收参数时,描述对象的一个字段
- @ApiResponse:HTTP响应其中1个描述
- @ApiResponses:HTTP响应整体描述
- @ApiIgnore:使用该注解忽略这个API
- @ApiError :发生错误返回的信息
- @ApiParamImplicitL:一个请求参数
- @ApiParamsImplicit 多个请求参数
@RestController
@Api(tags = "hello测试接口")
public class HelloWorld {
@RequestMapping(name = "hello" , method= RequestMethod.GET)
@ApiOperation(value="hello测试", notes="这是一个hello测试",httpMethod = "GET")
public String hello(String name){
return "Hello "+name;
}
}