如何在Java接口中定义多种类型的参数(如:同时定义Java对象和文件类型Multipartfile参数等)

天行健,君子以自强不息;地势坤,君子以厚德载物。


每个人都有惰性,但不断学习是好好生活的根本,共勉!


文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。

文章目录

  • [1. 接口定义](#1. 接口定义)
    • [1.1 文件类型参数定义](#1.1 文件类型参数定义)
    • [1.2 Java对象参数定义](#1.2 Java对象参数定义)
    • [1.3 同时定义Java对象和文件类型的参数](#1.3 同时定义Java对象和文件类型的参数)
  • [2. postman中参数定义](#2. postman中参数定义)
    • [2.1 文件参数填写](#2.1 文件参数填写)
    • [2.2 对象参数填写](#2.2 对象参数填写)
    • [2.3 Postman参数截图](#2.3 Postman参数截图)

1. 接口定义

1.1 文件类型参数定义

使用@RequestParam传文件类型和/或其他查询参数

java 复制代码
    @PostMapping(value = "/createSwTool")
    public void createSwTool(@RequestHeader("username") String username, @RequestHeader("userGroup") String userGroup,
                             @RequestParam("files") MultipartFile multipartFile,
                             @RequestParam("name") String name){

1.2 Java对象参数定义

使用@RequestBody或@RequestPart传Java对象、JSONObject对象等

java 复制代码
    @PostMapping(value = "/createSwTool")
    public void createSwTool(@RequestHeader("username") String username, @RequestHeader("userGroup") String userGroup,
                             @RequestBody TbTtpsSoftwareTools tbTtpsSoftwareTools){

1.3 同时定义Java对象和文件类型的参数

同时定义文件类型和Java对象时,@RequestBody不能与@RequestParam同时使用,此时可用@RequestPart代替@RequestBody

如下:

java 复制代码
    @PostMapping(value = "/createSwTool")
    public void createSwTool(@RequestHeader("username") String username, @RequestHeader("userGroup") String userGroup,
//                             @RequestPart JSONObject jsonObjectInfo,
                             @RequestPart TbTtpsSoftwareTools tbTtpsSoftwareTools,
                             @RequestParam("files") MultipartFile multipartFile){

2. postman中参数定义

postman中选择Body下的form-data来传参

2.1 文件参数填写

代码中文件传参定义如下:

java 复制代码
@RequestParam("files") MultipartFile multipartFile

postman中参数定义如下:
Keyfiles

类型选File

值需选一个本地的文件

2.2 对象参数填写

代码中对象传参如下:

java 复制代码
@RequestPart TbTtpsSoftwareTools tbTtpsSoftwareTools

postman中参数定义如下:
Key为java对象tbTtpsSoftwareTools

类型为默认的Text

值为JSON字符串,内容字段(键)需与对象属性一致,内容如下:

json 复制代码
{
    "toolName":"测试工具3号",
    "toolDescription":"这时一个测试用的脚本工具描述3",
    "toolVersion":"1.0.3",
    "toolApplicableScope":"适用范围为整个EE",
    "toolFeature":"TCU",
    "toolModule":"NESss"
}

Context-Type值为application/json

postman默认是不展示Context-Type,选择右侧Bulk Edit前的三个点,勾选Content-Type展示,现在就可以填写值了

2.3 Postman参数截图

这样就可以在Java接口中同时定义Java对象和文件类型的参数并通过postman完成传参


感谢阅读,祝君暴富!

相关推荐
Y***h1872 小时前
第二章 Spring中的Bean
java·后端·spring
8***29312 小时前
解决 Tomcat 跨域问题 - Tomcat 配置静态文件和 Java Web 服务(Spring MVC Springboot)同时允许跨域
java·前端·spring
CoderYanger2 小时前
优选算法-栈:67.基本计算器Ⅱ
java·开发语言·算法·leetcode·职场和发展·1024程序员节
q***06292 小时前
Tomcat的升级
java·tomcat
多多*2 小时前
Java复习 操作系统原理 计算机网络相关 2025年11月23日
java·开发语言·网络·算法·spring·microsoft·maven
青云交2 小时前
Java 大视界 -- Java 大数据在智能物流无人配送车路径规划与协同调度中的应用
java·spark·路径规划·大数据分析·智能物流·无人配送车·协同调度
d***81723 小时前
解决SpringBoot项目启动错误:找不到或无法加载主类
java·spring boot·后端
ᐇ9593 小时前
Java集合框架深度实战:构建智能教育管理与娱乐系统
java·开发语言·娱乐
听风吟丶4 小时前
MyBatis 深度实战:从基础映射到企业级性能优化
java·tomcat
仟濹4 小时前
【Java 基础】面向对象 - 继承
java·开发语言