我使用Google Cloud Endpoints将数据从我的Android客户端应用程序返回到我的Google App Engine实例 我似乎达到了参数大小限制并获得了413 Full Head Returned。 抛出的异常是: com.google.api.client.googleapis.json.GoogleJsonResponseException:413 FULL head
该参数是包含序列化JSON的String。长度方面,我传递给参数的字符串是4226个字符(Java String)。 我用google搜索并查看了其他一些stackoverflow答案,但没有一个直接处理长度问题。 据我所知,我没有达到POST数据限制,但我找不到任何Google文档说明API中的参数限制。
任何帮助都非常感激。
答案 0 :(得分:0)
我找到了答案。我使用@Named
参数传回json
。这意味着API
在URL
上使用的查询参数超出了URL
长度的限制。
更仔细地阅读本文https://cloud.google.com/appengine/docs/java/endpoints/annotations#apimethod_method-scoped_annotations
我意识到对于Entity(和长字符串),我应该简单地返回实体而不是使用@Named
参数。
我将代码更改为
@ApiMethod(name = "saveCompletedForm", httpMethod=HttpMethod.POST)
public SaveFormResponse saveCompletedForm(FullFormBean formBean, @Named("username") String userName, @Named("pwd") String password)
{...