当响应头内容类型设置为json

时间:2018-04-25 05:35:33

标签: spring-boot spring-rest

我有2个春季休息服务。一个是json内容的制作者,另一个是消费者。

生产者控制器操作的相关代码如下:

@RequestMapping(value = "/cars", method = RequestMethod.POST)
public ResponseEntity<Cars> getCars(..methods params...){

 .....some code here.....

   HttpHeaders respHeader = new HttpHeaders();
   respHeader.set("Content-Type", "application/json");

   ResponseEntity<Cars> resp = new ResponseEntity<Cars>(cars, respHeader, HttpStatus.OK);
   return resp;

} 

在消费者Spring启动服务代码中,我使用resTemplate调用此端点并获取结果。如果您注意到上面的生产者代码,我在RequestMapping属性中没有produce =“application / json”。但是,我在响应头中有Content-type作为“application / json”。

Consumer获取xml响应而不是json。杰克逊在班级道路上。

我想知道是什么解释了返回xml而不是json,即使响应头中的Content-type设置为“application / json”。

如果此响应头没有任何效果,那么在RequestMapping xml而不是json中是generate属性的默认值吗?

1 个答案:

答案 0 :(得分:-1)

@RequestMapping(value = "/cars", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Cars> getCars(..methods params...){

 .....some code here.....

   ResponseEntity<Cars> resp = new ResponseEntity<Cars>(cars, respHeader, HttpStatus.OK);
   return resp;

}