1、什么是swagger
swagger就是一个在你写接口的时候自动帮你生成接口文档的东西,只要你遵循它的规范并写一些接口的说明注解即可。
本文springboot版本:2.5.6
2、引入依赖
<!-- swagger -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<!-- swagger UI -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
3、编写配置类
@Configuration
@EnableSwagger2
public class SwagerrConfig {
//配置了Swagger 的Docket的bean实例
@Bean
public Docket docket(){
ParameterBuilder ticketPar = new ParameterBuilder();
List<Parameter> pars = new ArrayList<>();
ticketPar.name("Authorization").description("token")//Token 以及Authorization 为自定义的参数,session保存的名字是哪个就可以写成那个
.modelRef(new ModelRef("string")).parameterType("header")
.required(false).build(); //header中的ticket参数非必填,传空也可以
pars.add(ticketPar.build()); //根据每个方法名也知道当前方法在设置什么参数
return new Docket(DocumentationType.SPRING_WEB)
.apiInfo(apiInfo())
.select()
//RequestHandlerSelectors, 配置要扫描接口的方式
//basePackage:指定要扫描的包
//any():扫描全部
//withClassAnnotation: 扫描类上的注解
//withMethodAnnotation: 扫描方法上的注解
//这里改成你的 com.fd.demo.Controller
.apis(RequestHandlerSelectors.basePackage("com.fd.demo.Controller"))
.build()
.globalOperationParameters(pars);
}
//配置Swagger 信息=apiInfo
private ApiInfo apiInfo(){
//作者信息 姓名,主页,邮件
Contact contact=new Contact("Fang","url","email");
return new ApiInfo(
"我是swagger的标题啊",
"我是swagger的描述信息",
"v1.0",//
"http:127.0.0.1/",
contact,//作者信息对象
"Apache 2.0",
"http://www.apache.org/licenses/LICENSE-2.0",
new ArrayList()
);
}
}
4、拦截器配置(如果有)
配置放行例外
@Configuration
public class InterceptorConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
//添加拦截器方法 传入我们自己的拦截器
registry.addInterceptor(new xxx())
.addPathPatterns("/**") //拦截规则 所有
.excludePathPatterns("/api/user/login") //例外规则
.excludePathPatterns("/swagger-resources/**") //下面的例外规则,是swagger的
.excludePathPatterns("/webjars/**")
.excludePathPatterns("/v2/**")
.excludePathPatterns("/swagger-ui.html/**");
}
}
5、访问swagger
访问:http://localhost:8080/swagger-ui.html
即可看到swagger的UI页面了!!