Я просмотрел документацию 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
в весеннем документе:
Аннотация, указывающая, что параметр метода должен быть привязан к параметру веб-запроса. Поддерживается для аннотированных методов обработчика в
Servlet
иPortlet
средах.
Я запуталась между ними. Пожалуйста, помогите мне на примере того, чем они отличаются друг от друга.