使用resttemplate postforobject

时间:2019-02-07 04:45:40

标签: spring-boot ibm-mq

下面是给出400错误请求的代码,尝试了各种选项,但始终以400错误请求结束,但是使用OkHttp客户端的工作原理相同

HttpHeaders hh = new HttpHeaders();
RestTemplate rt = new RestTemplate();
String reqBody = new ObjectMapper.writeValueAsString(“test msg”);  
headers.set(“Accept”, “text/plain”);  
headers.set(“content-type”,”application/json”);  
headers.set(“authorization”, “Basic xxxxx”);  
headers.set(“ibm-mq-rest-csrf-token”,”blank”);  
HttpEntity<String> request = new HttpEntity<>(reqBody.toString());  
ResponseEntity<Object> result = rt.postForObject(url, request, Object.class);

下面的代码使用okhttp可以工作 enter image description here

1 个答案:

答案 0 :(得分:0)

您的内容似乎不是JSON,在两种情况下都似乎是纯文本。因此标题

Content-Type: text/plain

应使用而不是

Content-Type: application/json

我不确定为什么这在您的OKHTTP示例中有效,除非您用来构建帖子正文的媒体类型以某种方式超越了Content-Type标头?