权威分析@RequestParam和@RequestPart 的区别(官方文档)

简介: 一、今天写了两个文件上传的接口用到了@RequestParam和@RequestPart @RequestPart /** * 单文件上传 * @param file * @par...

一、今天写了两个文件上传的接口用到了@RequestParam和@RequestPart
@RequestPart

    /**
     * 单文件上传
     * @param file
     * @param bucket
     * @return
     */
    @RequestMapping("uploadFile")
    public JsonResult uploadFile(@RequestPart("file") MultipartFile file, @RequestParam String bucket){

        String fileUrl = aliossService.uploadFile(file, bucket);
        Map<String,String> result = new HashMap<>();
        result.put("fileUrl",fileUrl);

        return success(result);
    }

@RequestParam

    /**
     * 上传字符串
     * @param stringFile
     * @param bucket
     * @return
     */
    @RequestMapping("uploadStringFile")
    public JsonResult uploadStringFile(@RequestParam("stringFile") String stringFile, @RequestParam("bucket") String bucket){

        String fileUrl = aliossService.uploadStringFile(stringFile, bucket);
        Map<String,String> result = new HashMap<>();
        result.put("fileUrl",fileUrl);

        return success(result);
    }

二、比较一下他们的区别吧
@RequestPart
RequestPart

译文:
1.@RequestPart这个注解用在multipart/form-data表单提交请求的方法上。
2.支持的请求方法的方式MultipartFile,属于Spring的MultipartResolver类。这个请求是通过http协议传输的。
3.@RequestParam也同样支持multipart/form-data请求。
4.他们最大的不同是,当请求方法的请求参数类型不再是String类型的时候。
5.@RequestParam适用于name-valueString类型的请求域,@RequestPart适用于复杂的请求域(像JSON,XML)。

目录
相关文章
|
2月前
|
JSON 数据格式
@SpringQueryMap 、@RequestPart 、@RequestParam 比较与说明
@SpringQueryMap 、@RequestPart 、@RequestParam 比较与说明
151 2
|
5月前
|
监控 中间件 Serverless
函数计算操作报错合集之"Request Header Fields Too Large" 错误通常是由什么导致的
在使用函数计算服务(如阿里云函数计算)时,用户可能会遇到多种错误场景。以下是一些常见的操作报错及其可能的原因和解决方法,包括但不限于:1. 函数部署失败、2. 函数执行超时、3. 资源不足错误、4. 权限与访问错误、5. 依赖问题、6. 网络配置错误、7. 触发器配置错误、8. 日志与监控问题。
|
5月前
|
数据采集 监控 JavaScript
函数计算操作报错合集之调用时报错:Error parsing headers: 'limit request headers fields',是什么原因
在使用函数计算服务(如阿里云函数计算)时,用户可能会遇到多种错误场景。以下是一些常见的操作报错及其可能的原因和解决方法,包括但不限于:1. 函数部署失败、2. 函数执行超时、3. 资源不足错误、4. 权限与访问错误、5. 依赖问题、6. 网络配置错误、7. 触发器配置错误、8. 日志与监控问题。
|
6月前
|
Java
Request method ‘GET‘ not supported,不支持GET形式访问
Request method ‘GET‘ not supported,不支持GET形式访问
467 0
|
6月前
|
Java Spring
@RequestParams是这作用?
@RequestParams是这作用?
|
6月前
|
中间件 应用服务中间件 Apache
Higress有对max_request_bytes做限制吗?我有个应用上传文件报413 request entity too large错误
Higress有对max_request_bytes做限制吗?我有个应用上传文件报413 request entity too large错误
94 0
|
6月前
|
存储 XML JSON
@RequestBody、@RequestParam 、@PathVariable @RequestPart 傻傻分不清
@RequestBody、@RequestParam 、@PathVariable @RequestPart 傻傻分不清
382 0
|
测试技术 开发者
记一次给 docusaurus 官方提交 pull request 的过程
记一次给 docusaurus 官方提交 pull request 的过程
138 0
记一次给 docusaurus 官方提交 pull request 的过程
|
JSON 前端开发 数据格式
@RequestParam、@RequestBody、@PathVariable区别和案例分析
@RequestParam、@RequestBody、@PathVariable区别和案例分析
164 2