Как работает Spring @RequestBody? а как @RequestBody map json настроить объект? - PullRequest
0 голосов
/ 13 февраля 2020

Я хочу знать, как @ RequestBody карта работает для json для объекта ? Какой картограф он использует?

1 Ответ

0 голосов
/ 13 февраля 2020

Когда Spring отправляется для генерации аргумента для параметра @RequestBody, он циклически просматривает экземпляры HttpMessageConverter, проверяет, является ли этот экземпляр HttpMessageConverter # canRead типом содержимого, указанным в запросе, и может генерировать экземпляр типа параметра. Если это возможно, Spring будет использовать этот HttpMessageConverter для создания аргумента. Если это невозможно, Spring пропустит его и попробует следующий экземпляр, пока он не закончится. В этот момент он выдаст исключение.

-копированный

Преобразователи сообщений по умолчанию По умолчанию следующие экземпляры HttpMessageConverters предварительно включены:

  • ByteArrayHttpMessageConverter - конвертирует байтовые массивы
  • StringHttpMessageConverter - конвертирует строки
  • ResourceHttpMessageConverter - конвертирует org.springframework.core.c * * 101 * * * * * * * * * * * * SourceHttpMessageConverter - преобразует javax. xml .transform.Source
  • FormHttpMessageConverter - преобразует данные формы в
  • MultiValueMap.
  • Jaxb2RootElementHttpMessageConverter из XML (добавляется только если JAXB2 присутствует в пути к классам)
  • MappingJackson2HttpMessageConverter - конвертирует JSON (добавляется только в том случае, если в пути к классам присутствует Джексон 2)
  • MappingJacksonHttpMessageConverter - конвертирует JSON (добавляется только если Джексон присутствует на classpath)
  • AtomFeedHttpMessageConverter - преобразует каналы Atom (добавляется только в том случае, если в пути к классам присутствует Рим)
  • RssChannelHttpMessageConverter - преобразует каналы RSS (добавляется только в том случае, если в пути к классам присутствует Рим)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...