【发布时间】:2013-10-16 05:05:04
【问题描述】:
我尝试向端点提交数据,但它说数据太大,所以我将方法更改为 POST 并收到错误:
This API does not support parsing form-encoded input.
接下来我将类型更改为 application/json,仍然是 post,现在我得到了:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "parseError",
"message": "Parse Error"
}
],
"code": 400,
"message": "Parse Error"
}
}
将大量数据(即 2730 字节)发布到端点并让它正确处理的最佳方式是什么?在我的情况下,有问题的字段是文本类型,因为我超过了应用引擎在字符串中保存的 500 个字符的限制。
此外,与许多事情一样,这在我的本地机器上效果很好,它只会在实时应用引擎实例上出现此错误。
谢谢!
【问题讨论】:
-
一个字符串几乎可以是数据存储实体中允许的全部 1MB(需要为密钥留出空间,仅此而已)。如果不持久化输入,则可以在请求中接受 32MB 的字符串。
-
@bossylobster 我注意到的是,如果您在端点中有一个实体类型,它将在一个帖子上接收一个 JSON 对象,但如果您只有一个字符串或一个长等的东西。命名属性,然后您必须将其附加到 URL。我认为在定义 API 端点以强制它使用/采用 JSON 时,最好对 JSON 进行标准化或给予我们更多控制。
-
根据定义命名的属性最终会作为路径参数。不过参数名冲突是允许的,所以也可以在body中定义。
标签: java google-app-engine google-cloud-endpoints