什么是swagger
swagger可以轻松的整合到Spring Boot中,并与Spring MVC程序配合组织出强大RESTful API文档。它既可以减少我们创建文档的工作量,同时说明内容又整合入实现代码中,让维护文档和修改代码整合为一体,可以让我们在修改代码逻辑的同时方便的修改文档说明。
swagger在项目上如何使用
1.在pom.xml中加入Swagger2的依赖
io.springfox springfox-swagger2 3.0.0 io.springfox springfox-swagger-ui 3.0.02.创建Swagger2配置类
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
List<RequestParameter> parameters = new ArrayList<>();
parameters.add(new RequestParameterBuilder().name("Authorization").description("认证token").in("header").required(false).build());
return new Docket(DocumentationType.OAS_30)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
.paths(PathSelectors.any())
.build().globalRequestParameters(parameters);
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("基础服务模块接口")
.version("1.0")
.build();
}
}
如上代码所示,通过@Configuration注解,让Spring来加载该类配置。再通过@EnableSwagger2注解来启用Swagger2,该注解也可已配置到启动类Application上。
再通过createRestApi函数创建Docket的Bean之后,apiInfo用来创建该Api的基本信息(这些基本信息会展现在文档页面中)。select()函数返回一个ApiInfoBuilder实例用来控制哪些接口暴露给Swagger来展现,本例采用指定扫描的包路径来定义,Swagger会扫描该包下所有Controller定义的API,并产生文档内容
3.添加文档内容
通过@Api注解来区分接口的模块,@ApiOperation注解来给API增加说明、通过@ApiImplicitParams、@ApiImplicitParam注解来给参数增加说明。
针对实体类的请求参数,@ApiModel注解描述参数对象的意义,通常用于返回的数据实体类对象。@ApiModelProperty对象属性:
完成上述代码添加上,启动Spring Boot程序,访问:http://localhost:8080/swagger-ui.html