pom
<!-- swagger包 --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency> <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>swagger-bootstrap-ui</artifactId> <version>1.9.2</version> </dependency>
config
@EnableSwagger2 @Configuration public class SwaggerConfig { @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.withClassAnnotation(Api.class)) //只扫描有api注解的类 .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) //只扫描有ApiOperation注解的方法 .apis(RequestHandlerSelectors.basePackage("com.flow.controller")) .paths(PathSelectors.any()) .build() ; } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("流向项目API文档") .description("restful风格") .termsOfServiceUrl("http://127.0.0.1:8055/") .version("1.0") .build(); } }
常用注解
@ApiOperation(value=接口名 notes=入参) 用在Controller 接口方法上
@Api(value = "目录名" , tags = "目录名" ) 用在Controller类上
@ApiModelProperty(value = "属性名ID",required = true) 用在实体类上 required标识是否必传
注意:可能会碰到拦截器拦截swagger 请求 提示无Token
解决思路可以尝试 在拦截器放行路径配置里面添加
- /swagger-resources/** - /webjars/** - /v2/** - /swagger-ui.html/** - /doc.html/** - /error - /favicon.ico
访问路径 localhost:8080/doc.html