史上最全 SpringBoot 教程,从零开始带你深入♂学习(十五
[](
)3、编写 controller 层
package com.study.swagger.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
//加群 1025684353 一起吹水聊天
@GetMapping("/hello")
public String hello(){
return "hello";
}
}
[领取资料](
)
[](
)编写 Swagger 的配置类 4、编写 Swagger 的配置类
package com.study.swagger.config;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration
@EnableSwagger2 //开启 Swagger
public class SwaggerConfig {
//加群 1025684353 一起吹水聊天
}
[](
)5、测试运行,输入:[http://localhost:8080/swagger-ui.html](
) 进入到页面
[
](
)
[](
)配置 Swagger 信息
==========================================================================
[领取资料](
)
Swagger 是通过注解的方式来生成对应的 API,在接口上我们需要加上各种注解来描述这个接口
[](
)1、编写 Swagger 配置类
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket docket(){
return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo());
}
private ApiInfo apiInfo(){
//作者信息
Contact contact = new Contact("张三", "http://localhost:8080", "963330213@qq.com");
return new ApiInfo(
"张三的 Swagger 文档", //名字
"即使再小的帆也能远航", //座右铭
"1.0",
"http://localhost:8080",//作者连接
contact,
"Apache 2.0",//加群 1025684353 一起吹水聊天
"http://www.apache.org/licenses/LICENSE-2.0",
new ArrayList()
);
}
}
[](
)2、启动测试
[领取资料](
)
[
](
)
[](
)配置 Swagger 扫描接口
============================================================================
[领取资料](
)
[](
)1、配置扫描的接口
//配置了 Swagger 的 Docket 的 bean 实例
@Bean
public Docket docket(Environment environment){
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
//RequestHandlerSelectors:配置要扫描的 api 方式
//basePackage:指定包扫描(常用)
//any():扫描全部
//none():不扫描
//withClassAnnotation:扫描类上的注解
//withMethodAnnotation:扫描方法上的注解
.apis(RequestHandlerSelectors.basePackage("com.study.swagger.controller"))
.paths(PathSelectors.ant("/study/**"))//过滤路径,只扫描带有 study 请求的接口
.build();//加群 1025684353 一起吹水聊天
}
运行测试:因为配置了只扫描 study 请求下的接口,所以显示没有被定义的注解
[
](
)
[](
)2、配置是否启动 Swagger
//配置了 Swagger 的 Docket 的 bean 实例
@Bean
public Docket docket(Environment environment){
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.enable(false) //是否启动 Swagger,如果为 false,则 Swagger 不能在浏览器中访问
.select()//加群 1025684353 一起吹水聊天
.apis(RequestHandlerSelectors.basePackage("com.study.swagger.controller"))
//.paths(PathSelectors.ant("/study/**"))//过滤路径,只扫描带有 study 请求的接口
.build();
}
[](
)Swagger 配置多环境
===========================================================================
[领取资料](
)
[](
)1、新建 application-dev.properties
应用名称
spring.application.name=swagger-demo
应用服务 WEB 访问端口
server.port=8081
[](
)新建 application-dev.properties
应用名称
spring.application.name=swagger-demo
应用服务 WEB 访问端口
server.port=8082
[](
)2、编写 application.properties
应用名称
spring.application.name=swagger-demo
应用服务 WEB 访问端口
server.port=8080
spring.profiles.active=dev #选择 dev 环境
[](
)3、编写 Swagger 配置类
[
](
)
4、运行测试
===============================================================================
配置多个分组,多个 Docket 实例
1、编写 Swagger 配置类,添加多个 Docket 分组
@Bean
public Docket docket1(){
return new Docket(DocumentationType.SWAGGER_2).groupName("A 组");
}
@Bean
public Docket docket2(){
评论