2016-09-02 127 views
4

的請求參數提供樣品值我有一個彈簧引導RestController休息方法的方法簽名,看起來像這樣:在揚鞭

@RequestMapping(
     value = "/path", 
     method = RequestMethod.POST, 
     consumes = MediaType.APPLICATION_JSON_VALUE, 
     produces = MediaType.APPLICATION_JSON_VALUE 
) 
@ApiImplicitParams({ 
     @ApiImplicitParam(
       name = "message", 
       value = "Message that is sent to the method", 
       required = true, 
       dataType = "string", 
       paramType = "body" 
     ) 
}) 
public @ResponseBody String receiveMessage(@RequestBody String message) { 
    // ... 

    return "{\"success\": true}"; 
} 

我想,以提供一個「樣本」的價值message參數是一個JSON字符串(例如{"key" : "value"})。有誰知道我可以用Swagger註釋來做到這一點嗎?我試過

@ApiImplicitParams({ 
     @ApiImplicitParam(
       // ... 
       example = "...JSON value..." 
     ) 
}) 

但它沒有工作。我想要的是文檔中的「樣本值」,讀者可以點擊使文檔中的參數值字段填充給定的樣本值。這可能嗎?

這裏是它如何可能看起來像一個截圖:

enter image description here

只是不要阻止「無用」的答案:我不能參數的類型從String更改爲某個類的類型,由於我的業務邏輯。

回答

3

不幸的是,您無法提供原子參數(String,Number,...)的示例或示例值。

只能提供一個例子,如果該參數是一個模式中的對象,你只需要一個example屬性添加到屬性描述:

properties: 
    firstName: 
    description: first name 
    type: string 
    example: John 

作爲最後的手段,你可以添加一個例子值在參數描述中(valueApiImplicitParam註釋中)。

@ApiImplicitParam(
      name = "message", 
      value = "Message that is sent to the method. Example: value", 
      required = true, 
      dataType = "string", 
      paramType = "body" 
    )