1.导入依赖包
<!-- 引入swagger包 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
注:可能会跟springboot的依赖包冲突,修改下版本就行
2.配置项目
2.1 新建config包下SwaggerConfig配置文件
加上以下两个注解
@Configuration
@EnableSwagger2 // 开启Swagger2的自动配置
启动项目:项目路径/swagger-ui.html
2.2 编写swagger实例
配置api文档信息
@Configuration
@EnableSwagger2 // 开启Swagger2的自动配置
public class SwaggerConfig {
// 配置docket以配置Swagger具体参数
@Bean
public Docket docket() {
return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo());
}
private ApiInfo apiInfo(){
return new ApiInfo("Swagger学习接口文档",
"这是学习swagger生成的文档信息",
"1.0",
"http::localhost:8080",
new Contact("张三","baidu.com","abc@qq.com"),
"",
"",
new ArrayList<>());
}
}
重启项目:项目路径/swagger-ui.html
2.3 扫描接口路径
@Configuration
@EnableSwagger2 // 开启Swagger2的自动配置
public class SwaggerConfig {
// 配置docket以配置Swagger具体参数
@Bean
public Docket docket() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.basePackage("com.example.controller"))
.build();
}
}
新建controller包下的HelloController
@RestController
@RequestMapping("/hello")
public class HelloController {
@GetMapping
public String updateHello(String str){
return str;
}
@DeleteMapping
public String deleteHello(){
return "hello";
}
}
项目重启后:只显示controller包下的两个接口
docket类总结
@Bean
public Docket docket() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.basePackage("com.example.controller"))
.build();
}
配置全局参数token
@Bean
public Docket docketToken() {
Parameter token = new ParameterBuilder()
.name("token")
.description("用户登录令牌")
.parameterType("header")
.modelRef(new ModelRef("String"))
.required(true)
.build();
List<Parameter> parameters = new ArrayList<>();
parameters.add(token);
return new Docket(DocumentationType.SWAGGER_2)
.globalOperationParameters(parameters);
}