首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法理解为什么Google转换REST返回HTTP 400

无法理解为什么Google转换REST返回HTTP 400
EN

Stack Overflow用户
提问于 2013-10-07 14:02:28
回答 1查看 532关注 0票数 1

使用这个骆驼路径发送POST请求到Google翻译API:

代码语言:javascript
运行
复制
from("direct:start").
setHeader(Exchange.HTTP_METHOD, constant('POST')).
setHeader('X-HTTP-Method-Override', constant('GET')).
setBody(constant('q=Hello')).                                                                                                                                                                                                           
log(LoggingLevel.INFO, 'sourcingtool', '${body}').
to("https://www.googleapis.com/language/translate/v2?key=${api_key}&target=fr").
to('stream:out')

出于某种原因,获得HTTP 400。谁在请求中看到了一些问题?

当我使用并发送类似的请求时,更新1,一切都很有魅力:

curl -XPOST -H "X-HTTP-Method-Override:GET" --data "q=Hello" "https://www.googleapis.com/language/translate/v2?key=MY_API_KEY&target=fr"

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-12 11:39:40

答案很简单。我只需要显式地设置CONTENT_TYPE:

代码语言:javascript
运行
复制
from("direct:start").
setHeader(Exchange.HTTP_METHOD, constant('POST')).
setHeader(Exchange.CONTENT_TYPE, constant('application/x-www-form-urlencoded')). // this one did a trick
setHeader('X-HTTP-Method-Override', constant('GET')).
setBody(constant('q=Hello')).                                                                                                                                                                                                           
log(LoggingLevel.INFO, 'sourcingtool', '${body}').
to("https://www.googleapis.com/language/translate/v2?key=${api_key}&target=fr").
to('stream:out')
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19226912

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档