pom文件
首先pom文件中引入依賴
<!--swagger2 依賴-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
</dependency>
配置文件
enable作爲swagger開關放在配置文件中,可以通過更改配置文件來控制Swagger-ui的顯示和隱藏
#swagger開關
swagger2.enable=true
SwaggerConfig
config包下創建SwaggerConfig類
@Configuration
@EnableSwagger2
public class SwaggerConfig {
//讀取配置文件中的enable,true爲顯示,false爲隱藏
@Value("${swagger2.enable}")
private boolean enable;
@Bean
public Docket createDocke(){
return new Docket(DocumentationType.SWAGGER_2)
//進入swagger-ui的信息
.apiInfo(apiInfo())
.select()
//暴露所有controller類的所在的包路徑
.apis(RequestHandlerSelectors.basePackage("com.liang.web.controller"))
.paths(PathSelectors.any())
.build()
.enable(enable);
}
//進入swagger-ui的信息
private ApiInfo apiInfo(){
return new ApiInfoBuilder()
//該項目的名字
.title("Spring Boot 2.x教程")
//該項目的描述
.description("spring boot2.x 描述")
.version("1.0")
.build();
}
}
此時運行項目便可以進入到Swagger頁面
在網頁中輸入"本機地址:端口號/swagger-ui.html"
經常用的Swagger註解
實體Model中註解
@Data
//實體路徑和描述
@ApiModel(value = "com.liang.web.Model.UpdateUserModel",description = "接收更新用戶數據")
public class UpdateUserModel {
//字段描述
@ApiModelProperty(value = "用戶id")
private String id;
@ApiModelProperty(value = "賬號")
private String username;
@ApiModelProperty(value = "密碼")
private String password;
@ApiModelProperty(value = "性別")
private String sex;
@ApiModelProperty(value = "手機號")
private String phone;
@ApiModelProperty(value = "地區")
private String createWhere;
@ApiModelProperty(value = "郵件")
private String email;
@ApiModelProperty(value = "暱稱")
private String nickName;
}
controller層註解
@RestController()
@RequestMapping("/api")
//接口模塊描述信息
@Api(tags = "用戶模塊",description = "用戶相關模塊接口")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/getUser")
//接口描述信息
@ApiOperation(value = "獲取用戶詳情")
@ApiImplicitParams({
//給Swagger-UI中的輸入框中設置默認值
@ApiImplicitParam(name = "id",value = "用戶id",defaultValue = "123456")
})
public SysUser getUserDetail(@ApiParam(value = "用戶id",required = true) @RequestParam String id) {
return userService.getUserInfo(id);
}
@PutMapping("/user")
//接口描述信息
@ApiOperation(value = "獲取用戶詳情")
public String updateUserInfo(@RequestBody UpdateUserModel userModel) {
return userService.updateUserInfo(userModel);
}
}