2017-04-25 62 views
3

我們有兩個版本的類XXX。在版本1中,它包含屬性x並排除屬性y,在第二個版本中排除x幷包含y。如何dynacmicaly在swagger中啓用禁用屬性

我無法做到這一點,因爲我不能將參數傳遞給隱藏的屬性,它期望一個contsant表達式。

這是我使用的示例代碼,這裏的數量是xx。

@ApiModelProperty(dataType = "Float", required = false, notes = "Item Sequence", position = 5, hidden = this.isOpenMapping) 
    public Float getQuantity() { 
     return quantity; 
    } 

this.isOpenMapping是用於區分版本1還是2的類屬性。

如何解決這個問題?如果您需要更多信息,請告訴我。

回答

1

當您在swagger工作時,您可以實現解決您的問題最接近的是polymorphism。儘管Swagger並不完全支持這個事實,但它實際上可以在autogen代碼中付出一點努力。有關更多詳細信息,請參閱here

使用polymorphism您可以根據請求的實體類型動態創建不同的響應,共享一個通用的代碼庫。

也就是說,考慮實施compositioninheritance邏輯。請參閱here關於Swagger繼承和組合。

相關問題