2016-05-22 24 views
0

如何在我創建的API網關SDK中設置請求路徑參數?如何在爲我的AWS API網關生成的SDK中設置請求路徑參數

我有這樣一個PUT請求:/users/{id}

當我API網關的GUI測試它的偉大工程。我被要求提供ID參數。

但是當我創建了SDK,我得到了下面的方法(安卓/ JAVA):

@Operation(
    path = "https://stackoverflow.com/users/{id}", 
    method = "PUT" 
) 
void usersIdPut(UserPut var1); 

沒有辦法,我可以改變路徑。它會在字面上使用{id}來調用URL。

我試圖把ID放在UserPut模型中,但沒有區別。

我該怎麼做?

+0

您可以導出REST API中的OpenAPI安裝無服務器架構後,工作/招搖規範然後使用[swagger codegen](https://github.com/swagger-api/swagger-codegen)生成android API客戶端。有關更多信息,請參閱https://github.com/swagger-api/swagger-codegen/wiki/FAQ#how-can-i-generate-an-android-sdk。 –

+0

它應該處理這種情況,讓我看看並回復你。 –

回答

0

我是無法重現的問題,我有一個請求模型,響應模型,並在方法一條路徑PARAM,我得到這個從SDK客戶端:

@Operation(
     path = "/mappingtest/{id}", 
     method = "GET" 
    ) 
    Empty mappingtestIdGet(@Parameter(
    name = "id", 
    location = "path" 
) String var1, Empty var2); 

你能檢查,以確定參數是在方法請求的'請求路徑'部分定義的?並且您還部署了最新的更改,因爲SDK是從已部署的階段構建的。

+0

我會仔細檢查。我可能犯了一個錯誤。我會回來的。 – doorstuck

0

我遇到了同樣的問題,結果證明問題在於我使用的是無服務器框架,並且它沒有設置「requestParameter」字段來標記路徑參數。例如{"method.request.path.id": true}

從文檔 (http://docs.aws.amazon.com/cli/latest/reference/apigateway/put-method.html):

requestParameters的 - >(地圖) 鍵值地圖限定必需的還是可選方法請求參數可以由亞馬遜API網關被接受。一個關鍵是一個方法請求參數名稱,它匹配method.request。{location}。{name}模式,其中location是querystring,path或header,name是一個有效且唯一的參數名稱。與鍵關聯的值是指示參數是必需的(true)還是可選的(false)的api-key-required標誌。此處定義的方法請求參數名稱在Integration中可用於映射到集成請求參數或模板。

我能得到從GitHub的來源,而不是釋放,這爲請求參數字段添加support最近

相關問題