@Requestparam和@Requestbody的区别
@Requestparam
- 注解@RequestParam接收的参数是来自requestHeader中,即请求头。
- @RequestParam可以接受简单类型的属性,也可以接受对象类型。
- @RequestParam有三个配置参数:
required 表示是否必须,默认为 true,必须。
defaultValue 可设置请求参数的默认值。
value 为接收url的参数名(相当于key值)。
@Requestbody
- 注解@RequestBody接收的参数是来自requestBody中,即请求体
- 通常接受对象类型,前端返回的是json类型的数据
两者的区别
- @Requestparam用来处理 Content-Type 为 application/x-www-form-urlencoded编码的内容。
@Requestbody用来处理非 Content-Type: application/x-www-form-urlencoded编码格式的数据,比如:application/json、application/xml等类型的数据。 - 在GET请求中,不能使用@RequestBody。
在POST请求,可以使用@RequestBody和@RequestParam,但是如果使用@RequestBody,对于参数转化的配置必须统一。