@RequestBody、@RequestParam、@RequestPart使用方式和使用场景

@RequestBody和@RequestParam和@RequestPart使用方式和使用场景

  • 1.@RequestBody
  • 2.@RequestParam
  • 3.@RequestPart

1.@RequestBody

使用此注解接收参数时,适用于请求体格式为 application/json,只能用对象接收

@RequestBody、@RequestParam、@RequestPart使用方式和使用场景_第1张图片

2.@RequestParam

接收的参数是来自HTTP 请求体请求url 的QueryString中
只能用来接收基本数据类型、String 或者MultipartFile类型,不能同时接收请求体中非String(json)和MultipartFile两种类型同传的form-data请求体
@RequestBody、@RequestParam、@RequestPart使用方式和使用场景_第2张图片

3.@RequestPart

可以同时上传文件和json(任意)两种格式form-data请求体

  • @RequestPart这个注解用在multipart/form-data表单提交请求的方法上。
  • 支持的请求方法的方式MultipartFile,属于Spring的MultipartResolver类。这个请求是通过http协议传输的
  • 利用@RequestPart解决同时上传文件和传递参数问题

功能要求

  • post请求方式
  • 后端接收既有实体类对象也有所需上传的文件

实现方式

  • @RequestParam 无法接收实体类,只能接收字符串,如果想实现,前端需要将请求实体对象转为字符串,后端用字符串接收,然后后端进行转换处理
  • @RequestPart可以很好的实现上面的情况

@RequestBody、@RequestParam、@RequestPart使用方式和使用场景_第3张图片
注意:name的请求类型要设置为application/json
@RequestBody、@RequestParam、@RequestPart使用方式和使用场景_第4张图片
在这里插入图片描述

你可能感兴趣的:(SpringBoot,java,spring,boot,java)