Контроллер отвечает 415 ответом для любого типа MIME, кроме application / json - PullRequest
0 голосов
/ 01 сентября 2018

Я написал приложение для весенней загрузки. У меня есть вопрос о том, как Spring обрабатывает запросы к конечным точкам контроллера. У меня есть конечная точка только с указанным атрибутом «путь» и не производит, потребляет указанный атрибут. Когда я достигаю конечной точки с типом контента "application / json", я получаю ответ. Но когда я достигаю конечной точки с другими типами контента, такими как «application / xml, text и т. Д.», Я возвращаюсь назад 415. Я не мог понять, как обрабатываются продукты и потребления.

1 Ответ

0 голосов
/ 01 сентября 2018

Consumes означает, что клиент должен предоставить application/json при размещении / публикации, Produces, с другой стороны, означает, что клиент получит application/json в результате.

Вы можете добавить столько MediaTypes, сколько пожелаете, но в какой-то момент вам нужно предоставить несколько конечных точек для одного и того же результата, но в разных MediaTypes.

Так что в вашем случае вам нужно аннотировать ваш метод контроллера с помощью

@GetMapping(value = "/path", produces = {"application/json", "application/vnd.custom+json"})

Насколько я знаю, пружина по умолчанию application/json, но Джексон зарегистрирован для сериализации / десериализации всего, что соответствует application/*+json

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...