1. 程式人生 > >Swagger的三個常用註解

Swagger的三個常用註解

1. @Api

用於修飾類,在qs專案中用於描述Controller

引數:description 用於對該類的定義或描述該類的作用

@Api(description = "備忘錄相關介面")
@RestController
public class MemoController {

    private final MemoRepository memoRepository;
@Autowired
public MemoController(MemoRepository memoRepository) {
        this.memoRepository = memoRepository;
}

2. @ApiOperation

用於修飾方法或介面

引數:value = "  ", 對方法的簡述

    note = "  ", 對方法或介面的具體描述

/**
 * 查詢
 *
 * @return
*/
@ApiOperation(value="根據使用者id獲取備忘錄列表", notes="獲取當前使用者的所有備忘錄")
@RequestMapping(value = "/{userId}/memos", method = RequestMethod.GET)
public ResultData list(
        @ApiParam(required = true, value 
= "使用者id") @PathVariable("userId") String userId) { List<Memo> memos = memoRepository.findByUserId(userId); return ResultData.ok() .putDataValue("memos", memos); }
3. @ApiParam

用於對每個引數的描述

引數:required = true,  表示該引數是必要引數。

    value, 對引數的描述

注:Swagger對所有引數是可選的(required可以是false),

但是當引數作為路徑引數總是必須的,也就是說當引數出現在路徑中時,required必須為true。

如下圖程式碼中的userId.

/**
 * 按照memoId查詢
 *
 * @param id
* @return
*/
@ApiOperation(value="根據備忘錄id獲取備忘錄資訊", notes="獲取當前備忘錄資訊")
@RequestMapping(value = "/{userId}/memos/{id}", method = RequestMethod.GET)
public ResultData find(
        @ApiParam(required = true, value = "使用者id") @PathVariable("userId") String userId,
@ApiParam(required = true, value = "備忘錄id") @PathVariable("id") String id) {
    Memo memo = memoRepository.findOne(id);
    return ResultData.ok()
            .putDataValue("memo", memo);
}


其他註解可參考http://www.cnblogs.com/java-zhao/p/5348113.html