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

如何在C# Web API请求体传递JSON数组?接收参数为空问题

解决C# Web API POST请求接收字符串数组为null的问题

你的问题出在请求体结构和接口参数不匹配:接口参数List<string> items期望直接接收一个JSON数组,但你实际发送的是一个包含items属性的JSON对象,Web API无法自动完成这种映射,导致参数为null。

下面提供两种可行的解决方式:

方式一:修改请求体为纯数组

保持接口代码不变,把POST请求体改成直接的字符串数组,去掉外层的items键:

["1034908029943809497", "1034908029943809494"]

方式二:创建实体类匹配请求体结构

如果不想修改请求体,就定义一个和请求体结构对应的实体类:

public class CancelItemsRequest
{
    public List<string> Items { get; set; }
}

然后修改接口的参数类型:

[HttpPost]
[Route("")]
public async Task<IHttpActionResult> CancelItems([FromBody] CancelItemsRequest request)
{
    // 业务逻辑中使用request.Items即可获取到数组
    // codes
}

额外注意

发送请求时,务必确保请求头的Content-Type设置为application/json,否则模型绑定也会失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 03:12:06