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

Unity中Post方法仅传字符串,无法传递自定义类对象问题排查

问题分析:API接收Post请求时自定义类属性为null

你遇到的问题核心有两个:

1. 自定义类使用字段而非属性

ASP.NET Core Web API的模型绑定默认只处理带get/set访问器的属性,而你的RegModel定义的是字段:

public class RegModel
{
    public string UserMail; // 字段
    public string UserPass; // 字段
}

客户端序列化字段生成的JSON格式没问题,但API端无法将JSON中的值绑定到字段上,导致属性为null。

2. Post方法参数未显式指定[FromBody]

虽然[ApiController]特性会自动推断请求体绑定,但显式添加[FromBody]可以明确告诉API从请求体中读取JSON数据并绑定到模型,避免潜在的绑定歧义。


解决方案

修改RegModel为属性

将字段改为带get/set的属性:

public class RegModel
{
    public string UserMail { get; set; }
    public string UserPass { get; set; }
}

给API的Post参数添加[FromBody]

[HttpPost]
[Route("/api/doPost")]
public string Post([FromBody] RegModel regModel)
{
    string result = regModel.UserMail;
    return "ok " + result;
}

修改后,API就能正确解析客户端发送的JSON数据,绑定到RegModel的属性上了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 23:40:42