2017-02-08 30 views
0

在審查的一段代碼我遇到了一個嚴重註釋功能,其中包括沿着我怎樣才能讓揚鞭讀取用SpringMVC註釋

@ApiParam(value = "order number", required = false) @RequestParam(value = "order", required = true)

required = falserequires = true看起來非常可疑的東西線,它可能一個錯誤。註釋中的重複是導致此類錯誤的一個明顯原因。爲什麼Swagger不能簡單地閱讀@RequestParam註釋,使@ApiParam註釋過時,或者至少是可選的?

我該如何優雅地做這件事?

回答

1

您是否正在使用最新的spring-fox?按照Docs,你只需要使用時行爲/模式不能從MVC /傑克遜註釋中提取的@ApiXX

1.2。目標

在哲學上,我們希望阻止在運行時對服務描述不重要的使用(swagger-core)註釋。對於例如jackson註釋應該總是勝過或比@ApiModelProperty更重,或者例如@NotNull或指定@ RequestParam#所需的應該總是贏得。註釋僅用於補充文檔,或者在無法推斷服務/模式特徵的情況下覆蓋/調整結果規範。

因此,即使@ApiParam指定required衝突值,生成的API-docs的由springfox將使用@RequestParam值。