1.导入依赖
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
2.配置
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket docket1(Environment environment){
return new Docket(DocumentationType.SWAGGER_2)
.groupName("A");//配置API文档分组
}
@Bean
public Docket docket2(Environment environment){
return new Docket(DocumentationType.SWAGGER_2)
.groupName("B");//配置API文档分组
}
//配置了swagger的Bean实例
@Bean
public Docket docket(Environment environment){
//设置要显示的Swagger环境
Profiles profiles = Profiles.of("dev");
//判断是否处在自己设定的环境当中
boolean flag = environment.acceptsProfiles(profiles);
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
//配置API文档分组
.groupName("王亚斌")
//是否启用Swagger
.enable(flag)
.select()
//配置要扫描接口的方式
// .apis(RequestHandlerSelectors.any())
.apis(RequestHandlerSelectors.basePackage("com.example.controller"))
//过滤路径
// .paths(PathSelectors.ant("/"))
.build();
}
//配置Swagger信息=apiinfo
private ApiInfo apiInfo(){
//作者信息
new Contact("王亚斌", "", "");
return new ApiInfo(
"王亚斌的SwaggerAPI文档",
"Api Documentation",
"1.0",
"urn:tos",
DEFAULT_CONTACT,
"Apache 2.0",
"http://www.apache.org/licenses/LICENSE-2.0",
new ArrayList());
}
}
@RestController
public class HelloController {
@GetMapping(value = "/hello")
public String hello() {
return "hello";
}
//只要我们的接口中,返回值中存在实体类,他就会被扫描到Swagger中
@PostMapping(value = "/user")
public User user() {
User user = new User();
return user;
}
@ApiOperation("Hello控制类")
@GetMapping(value = "/hello2")
public String hello2(@ApiParam("用户名") String username) {
return "hello" + username;
}
}
//@Api("注释")
@ApiModel("用户实体类")
@Data
public class User {
@ApiModelProperty("用户名")
private String username;
@ApiModelProperty("密码")
private String password;
}
正式项目中关闭Swagger