Контроллер Spring не может обрабатывать несколько типов носителейJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Контроллер Spring не может обрабатывать несколько типов носителей

Сообщение Anonymous »

У меня есть простой контроллер отдыха:

Код: Выделить всё

@RequestMapping(method = RequestMethod.POST, value = "/consumeProto",
consumes = {APPLICATION_PROTOBUF_VALUE, APPLICATION_JSON_VALUE, APPLICATION_JSON_UTF8_VALUE},
produces = {APPLICATION_PROTOBUF_VALUE, APPLICATION_JSON_VALUE})
@ResponseBody
public ResponseDto consumeProto(@RequestBody RequestDto requestDto) {
System.out.println("Consumer application has received the message");
System.out.println(requestDto);

RequestDto res = RequestDto.newBuilder()
.setStatus(CREATED)
.build();

return res;
}
У меня есть еще одно приложение для загрузки спринта, которое может отправлять сообщение protobuf в эту конечную точку. Но когда я пытаюсь отправить эквивалент JSON в эту конечную точку, я получаю [org.springframework.web.HttpMediaTypeNotSupportedException: Content-Type 'application/json;charset=UTF-8' не поддерживается]. У меня сложилось впечатление, что контроллер может обрабатывать несколько типов мультимедиа, поскольку значение Consumer представляет собой массив (т. е. {APPLICATION_PROTOBUF_VALUE, APPLICATION_JSON_VALUE, APPLICATION_JSON_UTF8_VALUE.
Я знаю, что может быть немного странно разрешать одному контроллеру принимать несколько форм по запросу, но, конечно, это разрешено, учитывая, что есть возможность внедрить массив типов мультимедиа?


Подробнее здесь: https://stackoverflow.com/questions/783 ... edia-types
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»