1、引入Maven依赖jar包
<!--knife4j-micro-包含swagger2依赖-->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-micro-spring-boot-starter</artifactId>
<version>2.0.2</version>
</dependency>
2、编写Swagger2Config
@Configuration
@EnableSwagger2
@EnableKnife4j
public class Swagger2Config {
/**
* 创建RestApi 并包扫描controller
* @return
*/
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo())
.useDefaultResponseMessages(false) //使用默认的返回信息
.select()
.apis(RequestHandlerSelectors.any())// 对所有api进行监控(也可以指定监控的包RequestHandlerSelectors.basePackage("指定的包路径"))
.paths(PathSelectors.any())
//不显示错误的接口地址
.paths(Predicates.not(PathSelectors.regex("/error.*")))//错误路径不监控
.build();
}
/**
* 创建Swagger页面 信息
* @return
*/
private ApiInfo apiInfo() {
return new ApiInfoBuilder().title("用户微服")
.description("用户微服")
.version("1.0.0-SNAPSHOT")
.build();
}
}
3、访问文档地址
http://{ip}:{port}/doc.html
4、注解配置
- @Api:用于类;表示标识这个类是swagger的资源 =====>@Api(tags = “仓储回调”)
- @ApiResponses:在 Rest 接口上使用,用作返回值的描述
- @ApiOperation:用在方法上,说明方法的作用,每一个url资源的定义 =====>
@ApiOperation(“方法说明”) - @PathVariable:是获取get方式,url后面参数,进行参数绑定(单个参数或两个以内参数使用)
- @RequestBody :在当前对象获取整个http请求的body里面的所有数据(两个以上参数封装成对象使用)
- @ApiModelProperty(value = “字段说明”,required = true)