一、导包
<!--Swagger-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<version>2.0.4</version>
</dependency>
二、配置类
@Configuration
@EnableSwagger2
@EnableKnife4j
@Import(BeanValidatorPluginsConfiguration.class) //支持使用JSR-303注解(解析注释Java类的字段以声明约束和验证规则,不使其乱码)
public class SwaggerKnife4jConfig {
@Bean
public Docket logs() {
return new Docket(DocumentationType.SWAGGER_2)
.groupName("日志管理") //swagger models的内容
.useDefaultResponseMessages(false)
.apiInfo(apiInfo("日志管理", "日志管理","1.0"))
.select()
.apis(RequestHandlerSelectors.basePackage("com.zyl.cn.controller"))
.paths(PathSelectors.any())
.build();
}
/**
* 创建该API的基本信息(这些基本信息会展现在文档页面中)
* 访问地址:http://项目实际地址/swagger-ui.html
*
* @return
*/
private ApiInfo apiInfo(String title, String description, String version) {
return new ApiInfoBuilder()
.title(title)
.description("更多请关注http://www.baidu.com")
.termsOfServiceUrl("http://www.baidu.com")
.version(version)
.build();
}
}
三、加注解(controller+entity)
controller:
@Api:用于类;表示标识这个类是swagger的资源(注解加载在controller类上)
@ApiOperation:用在方法上,说明方法的作用,每一个url资源的定义
entity:
类名上加:
@ApiModel(value = "日志服务")
参数上加:
@ApiModelProperty(value = "ID")
最后一步:访问
localhost:服务端口号/doc.html
例如我的微服务:localhost:1001/doc.html