2.swagger配置文件,写在项目包下的config文件夹io.springfox springfox-swagger22.8.0 io.springfox springfox-swagger-ui2.8.0
package com.supconit.study.mybatis.xmltest.config;
import com.google.common.base.Predicates;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.documentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
public class CustomSwaggerConfig {
@Configuration
@EnableSwagger2
public static class SwaggerConfig {
@Bean
public Docket webApiConfig(){
return new Docket(documentationType.SWAGGER_2)
.groupName("webApi")
.apiInfo(webApiInfo())
.select()
.build();
}
private ApiInfo webApiInfo(){
return new ApiInfoBuilder()
.title("电商平台")
.description("本文档描述了某某电商平台微服务接口定义")
.version("1.0")
.contact(new Contact("111", "http://somc.top", "xxx@163.com"))
.build();
}
}
}
3.启动swagger:
可能会遇到下面的错误,这个的根本原因就是config文件没有扫描到。
有两种解决办法:
1.直接把@EnableSwagger2注解加在主启动类就可以,这样虽然能解决问题,但是这样会扫到使用的框架的接口,这种方法要慎用。
2.主启动类加上@ComponentScan("swagger配置类所在包"),以保证配置类被扫描到
最后解决问题之后就可以访问 你的配置文件的相关端口了,http://localhost:xxxx/swagger-ui.html
4.常用注解| @Api() | 用于类 | 表示标识这个类是swagger的资源 |
| @ApiOperation() | 用于方法 | 表示一个http请求的操作 |
| @ApiParam() | 用于方法,参数,字段说明 | 表示对参数的添加元数据(说明或是否必填等) |
| @ApiModel() | 用于类 | 表示对类进行说明,用于参数用实体类接收 |
| @ApiModelProperty() | 用于方法,字段 | 表示对model属性的说明或者数据操作更改 |
| @ApiIgnore() | 用于类,方法,方法参数 | 表示这个方法或者类被忽略 |
| @ApiImplicitParam() | 用于方法 | 表示单独的请求参数 |
| @ApiImplicitParams() | 用于方法 | 包含多个 @ApiImplicitParam |
tags–表示说明
value–也是说明,可以使用tags替代
但是tags如果有多个值,会生成多个list
@Api(value="用户controller",tags={"用户操作接口"})
@RestController
public class UserController { }
未完待续。。。



