Swagger2集成
依赖引入
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<version>2.0.6</version>
</dependency>
配置文件Swagger2Config.java
@Configuration
@EnableSwagger2
@EnableKnife4j
public class Swagger2Config {
/**
* 配置swagger2核心配置.
* <p>原路径访问地址 http://localhost:8088/swagger-ui.html
* <p>使用Knife4j地址 http://localhost:8088/doc.html
*
* @return docket
*/
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2) // 指定API类型为Swagger2
.apiInfo(createApiInfo()) // 定义Api文档汇总信息
.select()
.apis(RequestHandlerSelectors
.basePackage("org.lgq.controller")) // 指定Controller包
.paths(PathSelectors.any()) // 选择的要扫描Controller any()所有controller
.build();
}
/**
* 构建ApiInfo信息
*
* @return API相关信息
*/
private ApiInfo createApiInfo() {
return new ApiInfoBuilder()
.title("xxxx接口api") //文档页标题
.contact(new Contact("DevLGQ",
"https://gitee.com/lgq_zone",
"[email protected]")) // 联系人信息
.description("天天吃货API文档") // 详细描述
.version("1.0.1") // 文档版本号
.termsOfServiceUrl("https://gitee.com/lgq_zone") // 网站地址
.build();
}
}
一些注解的使用
- @Api(value = “注册登录”, tags = {“用户注册登录的相关接口”}) 对Controller进行说明
- @ApiOperation(value = “判断用户名是否存在”, notes = “判断用户名是否存在”, httpMethod = “GET”) 对Controller中的方法进行说明
- @ApiModel(value = “用户对象BO”, description = “从客户端由用户传入的数据封装在此entity中”) 对Model进行说明
- @ApiModelProperty(value = “用户名”, name = “用户名”, example = “lgq”, required = true) 对Model的属性进行说明
- @ApiParam(value = “用户名”, required = true) 对形式参数进行说明