SpringBoot Swagger
配置环境
application.properties
application-dev.properties
application-pro.properties
spring.mvc.pathmatch.matching-strategy = ANT_PATH_MATCHER
pom.xml
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
访问路径
http://localhost:8080/swagger-ui/index.html#/
配置类
SwaggerConfig.java
@Configuration
@EnableSwagger2 //开启Swagger2
public class SwaggerConfig {
//分组
@Bean
public Docket docket1(){
return new Docket(DocumentationType.OAS_30).groupName("group2");
}
//配置了Swagger的Docket的bean实例
@Bean
public Docket docket(Environment environment){
//设置要显示的Swagger环境
Profiles profiles = Profiles.of("dev","default");
//判断是否处在自己设定的环境当中
boolean flag = environment.acceptsProfiles(profiles);
return new Docket(DocumentationType.OAS_30)
.apiInfo(apiInfo())
.groupName("kuangshen")
.enable(flag)//是否启用
.select()
//RequestHandlerSelectors,配置要扫描接口的方式
//RequestHandlerSelectors.basePackage("com.kuang.swagger.controller"):指定要扫描的包
//RequestHandlerSelectors.any():扫描全部
//RequestHandlerSelectors.none():不扫描
//RequestHandlerSelectors.withClassAnnotation(RestController.class):扫描类上的注解
//RequestHandlerSelectors.withMethodAnnotation(GetMapping.class):扫描方法的注解
.apis(RequestHandlerSelectors.basePackage("com.kuang.swagger.controller"))
//paths 过滤什么路径
//.paths(PathSelectors.ant("/kuang/**"))
.build();
}
//配置Swagger信息
private ApiInfo apiInfo(){
//联系方式
Contact contact = new Contact("健康", "php.kongfiao.com", "776151931@qq.com");
return new ApiInfo(
"狂神的SwaggerAPI文档",
"即使再小的帆也能远航",
"v1.0",
"http://php.kongfiao.top",
contact,
"Apache 2.0",
"http://www.apache.org/licenses/LICENSE-2.0",
new ArrayList());
}
}
HelloController.java
@Api(tags = "你好控制")
@RestController
public class HelloController {
@ApiOperation("你好")
@GetMapping (value = "/hello")
public String hello(){
return "hello";
}
//只要我们的接口中,返回值中存在实体类,它就会被扫描到Swagger中
@PostMapping (value = "/user")
public User uesr(){
return new User();
}
@ApiOperation("你好用户名")
@GetMapping (value = "/hello2")
public String hello2(@ApiParam("用户名") String username){
return "hello"+username;
}
@ApiOperation("添加用户")
@GetMapping (value = "/addUser")
public User addUser(@ApiParam("用户") User user){
return user;
}
}
User.java
@ApiModel("用户实体类")
public class User {
@ApiModelProperty("用户名")
private String username;
@ApiModelProperty("密码")
private String password;
}
浙公网安备 33010602011771号