Spring boot controller возвращает xml, когда тип содержимого заголовка ответа установлен в json - PullRequest
0 голосов
/ 25 апреля 2018

У меня есть 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;

} 

В коде обслуживания потребительской весенней загрузки я использую resTemplate для вызова этогоконечная точка и получить результат.Если вы заметили приведенный выше код производителя, у меня нет атрибутов = "application / json" в атрибутах RequestMapping.Тем не менее, у меня есть Content-type как "application / json" в заголовках ответа.

Потребитель получает XML-ответ вместо JSON.Джексон находится в пути к классам.

Мне интересно, что объясняет возвращение xml, а не json, даже если Content-type в заголовках ответа установлен на "application / json".

Если этот заголовок ответа не имеет никакого эффекта, используется ли по умолчанию для атрибута производит в RequestMapping xml, а не json?

1 Ответ

0 голосов
/ 25 апреля 2018
@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;

} 
...