Запрос Spring JSON возвращает код 406 (недопустимо)
При попытке отправить запрос JSON на контроллер Spring MVC некоторые пользователи сталкиваются с ошибкой Ошибка «406 недопустимо». Эта проблема возникает из-за несоответствия между запрошенным типом контента («application/json») и способностью ответа контроллера.
В Spring MVC метод контроллера помечен аннотацией «@ResponseBody», чтобы указать, что Возвращаемое значение должно быть записано в тело ответа HTTP в формате JSON. Однако, если правильный HTTPMessageConverter не зарегистрирован в контексте приложения, Spring не сможет преобразовать возвращаемое значение в запрошенный формат.
Распространенной причиной этой ошибки является отсутствие библиотек Джексона в приложении. путь к классам. Библиотеки Jackson предоставляют HTTPMessageConverter, отвечающий за преобразование объектов Java в JSON и наоборот.
Чтобы решить проблему, выполните следующие действия:
Убедитесь, что следующие библиотеки Jackson включены в путь к классам приложения:
Если вы используете Spring 3.0 или более позднюю версию, добавьте следующую строку в файл конфигурации Spring-servlet.xml, чтобы включить конфигурацию MVC на основе аннотаций:
При реализации этих шагов HTTPMessageConverter будет зарегистрирован, и Spring сможет преобразовать возвращаемое значение контроллера в JSON, как и ожидалось. .
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3