Swagger生成API文件
阿新 • • 發佈:2018-12-24
一、swagger介紹
使用springMVC整合swagger-ui生成 Restful風格的API文件,可以省略手動編寫介面文件的過程,也解決了介面變化需要維護介面文件的過程。
swagger-ui還可以測試spring restful風格的介面功能。
二、Swagger與Spring MVC整合步驟
1.Maven的配置
2.複製swagger的相關js等靜態資源到webapp目錄<dependency> <groupId>com.mangofactory</groupId> <artifactId>swagger-springmvc</artifactId> <version>1.0.2</version> </dependency>
三、常見swagger註解與使用
Swagger註解使用網址: http://docs.swagger.io/swagger-core/apidocs/
@Api:修飾整個類,描述Controller的作用
@ApiOperation:描述一個類的一個方法,或者說一個介面
@ApiParam:單個引數描述
@ApiModel:用物件來接收引數
@ApiModelProperty:用物件接收引數時,描述物件的一個欄位
四. 使用描述及效果展示:
@ApiModel@RestController @Api(value = "User API", description = "會員相關操作") public class UserController { @Autowired private UserService userService; @Login @RequestMapping(value = "/user/login", method = RequestMethod.POST) @ApiOperation(httpMethod = "POST", notes = "登入介面", value="登入介面") public ResponseEntity<Object> login(@ApiParam(value="登入資訊", name="loginParam", required=true) @RequestBody LoginParam loginParam) { Result<UserVO> result = userService.login(loginParam.getEmail(), loginParam.getPassword()); if (null != result && result.getStatus() == StatusCodes.OK) {// 登入成功 WebRuntimeContextHolder.getRuntimeContext().setUser((UserVO) result.getItems()); return ResponseBuilder.instance().body(null).build(); } else { return ResponseBuilder.instance().body(result).build(); } }
public class Entity implements java.io.Serializable{
private static final long serialVersionUID = -473540900271240716L;
private Long id;
@ApiModelProperty(required=true)
private Integer logicalDel;
@ApiModelProperty(required=true)
private Date createTime;
@ApiModelProperty(required=true)
private Date updateTime;