2
我想傳入一個int []作爲參數到我的端點(使用Objectify)。這裏是終點法:谷歌App Engine整數數組參數
@ApiMethod(name = "getThemeDetailsFromList")
public CollectionResponse<Theme> getThemeDetailsFromList(@Named("ids") int[] ids) {
List<Theme> execute = new ArrayList<>();
for (int id:ids) {
execute.add(getTheme(id));
}
return CollectionResponse.<Theme> builder().setItems(execute).build();
}
這裏是代碼從我的應用程序的一部分:我試圖傳遞一個int []作爲IDS
Set<String> themes = tm.getFavoritesByID();
List<Integer> ids = new ArrayList<>();
for (String id: themes) {
ids.add(Integer.parseInt(id));
}
results = endpoint.getIconThemeDetailsFromList(ids).execute();
,但它不會讓我,只接受一個ArrayList。當我運行該應用時,出現以下返回錯誤:
> com.google.api.client.googleapis.json.GoogleJsonResponseException: 400
> Bad Request { "code": 400, "errors": [
> {
> "domain": "global",
> "location": "ids[0]",
> "locationType": "parameter",
> "message": "Invalid integer value: '3,1,5'.",
> "reason": "invalidParameter"
> } ], "message": "Invalid integer value: '3,1,5'." }
ids是{3,1,5}的陣列列表。我不知道爲什麼它讓我通過一個List,爲什麼它會給我返回錯誤。
檢查此問題的解決方案:http://stackoverflow.com/questions/25359099/passing-list-of-boxed-primitives-to-google-cloud-endpoint – 2016-12-17 04:17:26