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

如何通过Postman以RequestBody向Spring Controller传递int数组?

用@RequestBody接收int[]数组的实现方法

一、修改Controller代码

直接把原来的@RequestParam替换成@RequestBody即可,修改后的代码如下:

@PostMapping
public int acceptArray(@RequestBody int[] array) {
    // 保留原有的空数组校验逻辑
    if (array == null || array.length == 0) {
        throw new ResponseStatusException(HttpStatus.BAD_REQUEST, "You entered an empty array");
    }
    return arraySolver.arraySolver(array);
}

二、关键概念解释

  • @RequestBody:这个注解告诉Spring从HTTP请求的请求体(而非URL参数)中读取数据,并自动把JSON格式的请求体转换成对应的Java对象(这里就是int[]数组)。
  • 前提要求:前端发送请求时,必须将请求头的Content-Type设置为application/json,否则Spring无法正确解析JSON数据。

三、前端请求示例

发送POST请求时,请求体需要是标准的JSON数组格式,比如[1,2,3,4]。下面是两种常见的测试方式:

1. 使用curl命令测试

curl -X POST http://localhost:8080/your-api-path \
  -H "Content-Type: application/json" \
  -d "[1,3,5,7]"

2. 使用Postman测试

  • 请求方法选择POST
  • 填写你的接口URL
  • 在Headers选项卡添加Content-Type: application/json
  • 在Body选项卡选择raw,格式选JSON,输入数组内容[1,2,3,4]后点击发送。

四、注意事项

  • 如果请求体为空,或者不是合法的JSON数组(比如写成{1,2,3}这种错误格式),Spring会自动抛出HttpMessageNotReadableException,返回400 Bad Request错误。
  • Spring Boot项目默认已经包含Jackson JSON解析依赖,无需额外引入,就能自动完成JSON与Java对象的转换。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 10:50:26