我想使用响应rest api的服务.但是,当我将Accept-Charset标头设置为long值的请求发送时,该服务会中断.一个显而易见的解决方案是明确设置此标头:"Accept-Charset": "utf-8".然而,这似乎不起作用:
String requestBody = "{\"message\": \"I am very frustrated.\"}";
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
ArrayList<Charset> acceptCharset = new ArrayList<>();
acceptCharset.add(StandardCharsets.UTF_8);
headers.setAcceptCharset(acceptCharset);
log.info(headers.toString());
ResponseEntity<String> res = restTemplate.exchange("http://httpbin.org/post", HttpMethod.POST, new HttpEntity<>(requestBody, headers), String.class);
String httpbin = res.getBody();
log.info("httpbin result: " + httpbin);
Run Code Online (Sandbox Code Playgroud)
这会返回以下结果:
-> {Accept-Charset=[utf-8]}
-> INFO httpbin result: {
"args": {},
"data": "{\"message\": \"I am very frustrated.\"}",
"files": {},
"form": {},
"headers": {
"Accept": "text/plain, application/json, application/*+json, */*",
"Accept-Charset": "big5, big5-hkscs, cesu-8, …Run Code Online (Sandbox Code Playgroud)