Как заставить тип контента application / x-www-form-urlencoded работать с аннотацией @RequestBody? - PullRequest
0 голосов
/ 04 апреля 2019

Когда тип контента - application / json, @ RequestBody может прочитать тело запроса и десериализовать в объект, но тип контента - application / x-www-form-urlencoded , spring-mvc не может поддерживать этот тип контента с @RequestBody аннотация.

В моем проекте я столкнулся с этой проблемой, я хочу поддерживать их обоих одновременно, но не хочу терять удобство @ RequestBody.

Есть ли другой способ поддержки этих двух типов контента, и, например, @RequestBody может автоматически десериализовать тело запроса в объект?

@RequestMapping(value = "/test")
public String test(@RequestBody User user) {
  return user.toString();
}

1 Ответ

0 голосов
/ 04 апреля 2019

Есть ли другой способ поддержки этих двух типов контента, и, например, @RequestBody может автоматически десериализовать тело запроса в объект?

Отрицательный.

Что вы может сделать, это использовать FormHttpMessageConverter для десериализации в MultiValueMap<String, String>.Затем вы можете написать преобразователь, чтобы взять его и создать объект User.

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