@RequestBody、@RequestParam、@RequestPart使用方式和使用场景
@RequestBody和@RequestParam和@RequestPart使用方式和使用场景
- 1.@RequestBody
- 2.@RequestParam
- 3.@RequestPart
1.@RequestBody
使用此注解接收参数时,适用于请求体格式为 application/json,只能用对象接收
2.@RequestParam
接收的参数是来自HTTP 请求体 或 请求url 的QueryString中
只能用来接收基本数据类型、String 或者MultipartFile类型,不能同时接收请求体中非String(json)和MultipartFile两种类型同传的form-data请求体
3.@RequestPart
可以同时上传文件和json(任意)两种格式的form-data请求体
- @RequestPart这个注解用在multipart/form-data表单提交请求的方法上。
- 支持的请求方法的方式MultipartFile,属于Spring的MultipartResolver类。这个请求是通过http协议传输的
- 利用@RequestPart解决同时上传文件和传递参数问题
功能要求
- post请求方式
- 后端接收既有实体类对象也有所需上传的文件
实现方式
- @RequestParam 无法接收实体类,只能接收字符串,如果想实现,前端需要将请求实体对象转为字符串,后端用字符串接收,然后后端进行转换处理
- @RequestPart可以很好的实现上面的情况
注意:name
的请求类型要设置为application/json