springboot如何接收复杂参数(同时接收JSON与文件)

 更新时间:2025年02月12日 09:22:25   作者:worilb  
文章介绍了在Spring Boot中同时处理JSON和文件上传时使用`@RequestPart`注解的方法,`@RequestPart`可以接收多种格式的参数,包括JSON和文件,并且可以作为`multipart/form-data`格式中的key

springboot接收复杂参数

我们平时传递json用@RequestBody接收,上传文件用@RequestParam接收,如果要同时上传两者,用前面的注解就办不到了,这时候可以用@RequestPart代替。

代码示例

@PostMapping(value = "test")
    public R test(@RequestPart TestData data, MultipartFile file){
        log.info("数据{},文件{}",data,file.getOriginalFilename());
        return R.ok().data("data",data);
    }

注意传参方式

json字符串要设置Content-Type,application/json有些场景不生效,可以用application/problem+json。

@RequestPart与@RequestParam

功能更强于后者,既支持multipart/form-data又支持json、xml等格式的参数,等于是multipart/form-data格式中的key可以为各种格式。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • SpringBoot注入静态属性或静态对象的方法

    SpringBoot注入静态属性或静态对象的方法

    我们在使用SpringBoot为一些静态属性或者静态对象注入时会发现注入不成功,我们可以以下这几种方式把需要注入的值注入到静态属性中,感兴趣的朋友一起看下
    2024-12-12
  • spring框架学习总结

    spring框架学习总结

    Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架
    2021-06-06
  • 关于Java反编译字节码文件

    关于Java反编译字节码文件

    将高级语言翻译成汇编语言或机器语言的过程Java语言中的编译一般指将Java文件转换成class文件顾名思义反编译就是编译的逆向过程其实我们常用的开发工具(例如:IDEA、Eclipse)都带有反编译功能,需要的朋友可以参考下
    2023-05-05
  • Eclipse设置断点调试的方法

    Eclipse设置断点调试的方法

    这篇文章主要介绍了Eclipse断点调试的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • 如何使用@ConditionalOnExpression决定是否生效注释

    如何使用@ConditionalOnExpression决定是否生效注释

    这篇文章主要介绍了如何使用@ConditionalOnExpression决定是否生效注释的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • 基于JDOM生成解析XML过程解析

    基于JDOM生成解析XML过程解析

    这篇文章主要介绍了基于JDOM生成解析XML过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • MyBatis方法重载的陷阱及解决方案

    MyBatis方法重载的陷阱及解决方案

    在使用 MyBatis 进行开发时,尤其是使用注解模式(如 @Select、@Insert 等)时,开发者常常会遇到这样一个问题:为什么我的方法重载不能正常工作?这篇文章将深入探讨 MyBatis 的这个特性及如何规避相关的坑,需要的朋友可以参考下
    2024-09-09
  • java数学归纳法非递归求斐波那契数列的方法

    java数学归纳法非递归求斐波那契数列的方法

    这篇文章主要介绍了java数学归纳法非递归求斐波那契数列的方法,涉及java非递归算法的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • java简单实现计算器

    java简单实现计算器

    这篇文章主要为大家详细介绍了java简单实现计算器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-12-12
  • Java中通过ZipOutputStream类如何将多个文件打成zip

    Java中通过ZipOutputStream类如何将多个文件打成zip

    ZipOutputStream 是Java中用于创建ZIP文件的类,它是 java.util.zip 包中的一部分,通过使用 ZipOutputStream ,可以将多个文件压缩到一个ZIP文件中,这篇文章主要介绍了Java中(ZipOutputStream)如何将多个文件打成zip,需要的朋友可以参考下
    2023-09-09

最新评论