Swagger的由来
- 随着互联网技术的发展,现在的网站架构基本都由原来的后端渲染,变成了:前端渲染、先后端分离的形态,而且前端技术和后端技术在各自的道路上越走越远。
- 前端和后端的唯一联系,变成了API接口;API文档变成了前后端开发人员联系的纽带,变得越来越重要,swagger就是一款让你更好的书写API文档的框架。
依赖
<!-- 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>
示例
1.Spring Boot启动类:@EnableSwagger2
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@SpringBootApplication
@EnableSwagger2
public class TdogApplication {
public static void main(String[] args) {
SpringApplication.run(TdogApplication.class, args);
}
}
2.浏览器访问:xxx/swagger-ui.html:http://localhost:8080/swagger-ui.html
3.@Api:给类加注释,但是好像页面不显示。
@ApiOperation:给方法加注释。
@ApiParam:给参数加注释。
@ApiModelProperty:给参数中的类的属性加注释。
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.baozi.entity.LocalAuth;
import org.baozi.service.LocalAuthService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.Map;
@RestController
@RequestMapping("/user")
@Api("登录控制器")
public class LocalAuthController {
@Autowired
private LocalAuthService localAuthService;
@GetMapping("/login")
@ApiOperation("登录")
private Map<String, Object> login(@ApiParam("用户名")@RequestParam String username,
@ApiParam("密码")@RequestParam String password) {
// 省略代码
}
}