Consumes
означает, что клиент должен предоставить application/json
при размещении / публикации, Produces
, с другой стороны, означает, что клиент получит application/json
в результате.
Вы можете добавить столько MediaTypes, сколько пожелаете, но в какой-то момент вам нужно предоставить несколько конечных точек для одного и того же результата, но в разных MediaTypes.
Так что в вашем случае вам нужно аннотировать ваш метод контроллера с помощью
@GetMapping(value = "/path", produces = {"application/json", "application/vnd.custom+json"})
Насколько я знаю, пружина по умолчанию application/json
, но Джексон зарегистрирован для сериализации / десериализации всего, что соответствует application/*+json