Я просмотрел документацию Spring, чтобы узнать о @RequestBody
, и они дали следующее объяснение:
Аннотирование параметра метода
@RequestBody
указывает, что параметр метода должен быть привязан к значению тела запроса HTTP. Например:
@RequestMapping(value = "/something", method = RequestMethod.PUT)
public void handle(@RequestBody String body, Writer writer) throws IOException {
writer.write(body);
}
Вы преобразуете тело запроса в аргумент метода с помощью
HttpMessageConverter
.HttpMessageConverter
отвечает за преобразование из сообщения запроса HTTP в объект и преобразование из объекта в тело ответа HTTP.
DispatcherServlet
поддерживает обработку на основе аннотаций с использованиемDefaultAnnotationHandlerMapping
иAnnotationMethodHandlerAdapter
. В Spring 3.0AnnotationMethodHandlerAdapter
расширяется для поддержки@RequestBody
и имеет зарегистрированный по умолчаниюHttpMessageConverter
:...
но мое замешательство - это предложение, которое они написали в документе, который
Аннотирование параметра метода @RequestBody указывает, что параметр метода должен быть привязан к значению тела запроса HTTP.
Что они подразумевают под этим? Может ли кто-нибудь предоставить мне пример?
Определение @RequestParam
в Spring doc
Аннотации, указывающие, что параметр метода должен быть привязан к параметру веб-запроса. Поддерживается метод аннотированных обработчиков в средах
Servlet
иPortlet
.
Я запутался между ними. Пожалуйста, помогите мне с примером того, как они отличаются друг от друга.