swagger所需的jar包
<!--swagger2相关-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.2.2</version>
</dependency>
Swagger2配置文件:亲实过2.2版本
@Configuration
@EnableSwagger2
@ComponentScan(basePackages = {
"com.***.controller"
}) //扫描的包名
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
ParameterBuilder ticketPar = new ParameterBuilder();
List<Parameter> pars = new ArrayList<>();
ticketPar.name("Authorization").description("token")
.modelRef(new ModelRef("string"))
.parameterType("header")
.defaultValue("token")
.required(true)
.build();
pars.add(ticketPar.build());
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.paths(Predicates.not(PathSelectors.regex("/error.*")))
.build()
.globalOperationParameters(pars);
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("接口文档大标题")
.version("1.0")
.description("接口文档小标题")
.build();
}
}
swagger常用注解
controller层:
@Api(descriptio="控制层描述") 类名上(或者tage="" 前面备注)
@ApiOperation(value="方法描述",response="方法返回")
@ApiParam(name="参数名",value="参数说明",required="是否必须")
@Apilgnore //用于取消swagger页面显示
pojo类
@ApiModel(value="对象名",descriptio="对象描述")
@ApiModelProperty(value="model属性说明",name="重写属性名",dataType="重写属性类型",example="举例说明",hidden="true为隐藏",required="是否必填")
@ApiImplicitParams(name="参数ming",value="参数说明", dataType="数据类型",paramType="参数类型" ,example="举例说明" ) 用于方法,包含多个 @ApiImplicitParam