2017-03-03 61 views
0

我使用Swagger作爲我的api文檔。一些API的使用動態交對象,所以我只是用:Swagger請求動態對象

parameters: 
- name: region 
    in: body 
    schema: 
    type: object 

在招搖UI,我可以編輯使用「編輯的Json」按鈕的內容,但我點擊「保存」後,沒有任何附加到仍然請求時,它當我點擊「發送請求」按鈕時發送空請求。那麼,我錯了什麼?

我測試了這個http://editor.swagger.io/,將post參數改爲「object」類型,然後仍然無法編輯json數據。

+0

即使我無法在Swagger UI中重現您的問題,我也發佈了您的問題的答案。根據我的經驗,即使沒有** additionalProperties **,Swagger UI也可以發送動態屬性。 Swagger Codegen也不例外。在生成客戶端代碼時,您會發現** additionalProperties **可爲您提供更好的結果。如果您仍然遇到Swagger UI問題,請澄清問題。 –

+0

** zhonshu **,感謝您澄清問題。你原來的文章沒有提到Swagger Editor。我以爲你遇到Swagger UI的問題,這是一個完全不同的界面。我從來沒有嘗試從Swagger Editor發送請求。你有沒有試過Swagger UI?它可能會讓你對這個問題有不同的看法。 (https://github.com/swagger-api/swagger-ui) –

回答

0

您可以使用additionalProperties來定義具有動態屬性的對象。例如:

parameters: 
- name: region 
    in: body 
    schema: 
    type: object 
    additionalProperties: 
     type: object 

這就是說請求主體是一個沒有固定屬性的JSON對象。客戶端可以在運行時指定任何類型的屬性(字符串,布爾值,對象等)。有關additionalProperties的更多信息,請參閱OpenAPI規範2.0版。

+0

我已經嘗試了你的建議,但仍然無法附加我的json請求。 – zhongshu