You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过@RequestBody传递两个对象?PUT请求JSON结构咨询

嘿,我来帮你理清这个问题!

首先看你当前的代码,returnBook方法里用的是Tuple<Long, Long>,这意味着你需要传递一个包含两个Long类型值的JSON对象,键名要和Tuple类里的字段完全对应——也就是key和value。

对应的JSON结构应该是这样的:

{
  "key": 1001,
  "value": 2002
}

这里key对应用户ID,value对应图书实例ID,都是数字类型(注意不要加引号,否则会被解析成字符串,导致类型不匹配)。

另外你提到原本想传递一个Book对象和整数,要是你把Tuple的泛型改成Tuple<Book, Long>的话,JSON结构就要嵌套Book的完整数据了,比如:

{
  "key": {
    "id": 1,
    "title": "百年孤独",
    "author": {
      "id": 1,
      "name": "加西亚·马尔克斯",
      "dateOfBirth": "1927-03-06",
      "bio": "魔幻现实主义文学代表人物"
    }
  },
  "value": 3003
}

这里要注意几个细节:

  • 字段名必须和实体类里的属性完全一致(大小写敏感,比如不能把dateOfBirth写成dateofbirth)
  • Author是必填字段(你的代码里@ManyToOne(optional = false)),所以JSON里必须完整提供Author的所有必填属性
  • LocalDate类型的dateOfBirth要使用yyyy-MM-dd格式的字符串,Spring才能正确解析

内容的提问来源于stack exchange,提问作者Pasha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 07:07:03