【发布时间】:2013-04-03 13:31:07
【问题描述】:
我在我的应用程序中使用 Google Translate API 和 Spring RestTemplate,它工作正常,直到我使用 GET http 请求。但是,如果我有大量数据,服务将返回 414 错误(请求 URI 太大)。
所以我决定使用 POST(根据note)。
这是我的代码:
String content = "q=Hello";
HttpHeaders headers = new HttpHeaders();
headers.set("X-HTTP-Method-Override", "GET");
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
HttpEntity<String> request = new HttpEntity<String>(content, headers);
String response = new RestTemplate.postForObject(
"https://www.googleapis.com/language/translate/" +
"v2?key=<my_key>&source=en&target=ru", request, String.class);
服务返回错误 400 错误请求,我不知道为什么。我已经使用 jQuery 成功创建了类似的代码,所以我知道这种方式应该可行。 请帮我解决问题。
【问题讨论】:
-
只是一个猜测,你可以尝试使用 MultiValueMap 作为 HttpEntity 的主体
标签: java spring google-translate resttemplate