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>
2、建包 (MVC思想) swagger用在controller层、swagger配置类
@Configuration
@EnableSwagger2 //开启功能
public class SwaggerConfig {
//配置swagger的Docket的bean实例
@Bean
public Docket docket(Environment environment) {
//显示要设置的swagger环境
Profiles profiles=Profiles.of("dev","test");
//通过environment 判断是否处在自己设定的环境下
boolean flag = environment.acceptsProfiles(profiles);
/**
* .groupName("Thunder") 可以设置多个分组
* .groupName("B")
* .groupName("C")
* */
return new Docket(DocumentationType.SWAGGER_2)
.groupName("Thunder")
.apiInfo(apiInfo())
//是否启用swagger
.enable(true)
.select()
//指定扫描的包 com.thunder.controller
//扫描所有 any()
//none() 不扫描
//withClassAnnotation:扫描类上注解
//withMethodAnnotation:扫描类上注解
.apis(RequestHandlerSelectors.basePackage("com.thunder.controller"))
// paths 过滤什么路径
//.paths(PathSelectors.ant("/thunder/**"))
.build();
}
//配置基本信息
private ApiInfo apiInfo() {
Contact contact = new Contact("thunder",
"http://www.baidu.com",
"1657416567@qq.com");
return new ApiInfo(
"thunder的参考文档",
"springboot入门精通",
"V1.0",
"http://www.baidu.com",
contact,
"Apache 2.0",
"http://www.apache.org/licenses/LINCENSE-2.0",
new ArrayList<>()
);
}
}
3、实体类、控制器
@ApiModel("账户实体")
public class Account {
@ApiModelProperty("账户")
public String username;
@ApiModelProperty("密码")
public String password;
}
@Controller
@Api(tags = "测试请求类")
public class TestController {
@RequestMapping("/test")
@ResponseBody
public String test(){
return "success";
}
@GetMapping("/account")
@ResponseBody
@ApiOperation(value="获取用户信息",tags={"获取用户信息copy"},notes="注意问题点")
public Account user(@ApiParam(name = "request",value = "请求参数request",required = false) HttpServletRequest request){
System.out.println(request);
return new Account();
}
}
4、测试 地址栏输入:http://127.0.0.1:8080/swagger-ui.html
5、至此,swagger可以完成基本日常要求,如需要更多功能,可以寻找官方API,度娘。