Внутри @RestController
у меня есть @RequestMapping
, который работает, за исключением того, что я получаю 406 в клиенте при попытке вернуть класс POJO ResponseVO
@RequestMapping(value = "path", method = RequestMethod.POST
, produces = MediaType.APPLICATION_JSON_VALUE)
public @ResponseBody ResponseEntity<GenericResponse> path(
...
ResponseVO responseVO = new responseVO();
return new ResponseEntity<>(responseVO, HttpStatus.OK);
Я отправляю POST с телом JSON, заголовки моего запроса:
Connection: keep-alive
Content-Type: application/json
Accept: */*
Content-Length: 58
Host: localhost:8080
User-Agent: Apache-HttpClient/4.5.6 (Java/1.8.0_151)
Заголовки ответа:
HTTP/1.1 406 Not Acceptable
Server: Apache-Coyote/1.1
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: POST, GET, PUT, OPTIONS, DELETE
Access-Control-Max-Age: 3600
Access-Control-Allow-Headers: X-Requested-With, Content-Type, Authorization, Origin, Accept, Access-Control-Request-Method, Access-Control-Request-Headers
Content-Type: text/html;charset=utf-8
Content-Language: en
Content-Length: 1067
responseVO
расширениемGenericResponse
? - person Fima Taf   schedule 16.10.2018@ResponseBody
из метода, потому что она уже включена в аннотацию@RestController
. Также удалите атрибутproduces
из@RequestMapping
и проверьте, исчезла ли проблема. - person Kamil W   schedule 16.10.2018Accept
наapplication/json
- person a.l.   schedule 16.10.2018produces
, и в этом случае Spring автоматически определит тип содержимого ответа, но это только мои предположения. Можете ли вы отметить мой ответ как решение вашей проблемы? - person Kamil W   schedule 16.10.2018