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

ASP.NET Core API中如何正确读取嵌套模型并构造POST请求体

错误根因

你使用的CustomerDetails = { 属性赋值 }是对象初始化器的成员赋值语法,该语法仅适用于已经被实例化的对象,你没有主动为Customergetdata的CustomerDetails属性创建实例,所以赋值时会触发空引用异常。

解决方法

直接在给CustomerDetails赋值时加上new CustomerDetails显式创建实例即可,修改后的构造代码如下:

var body = new Customergetdata
{
    // 新增new CustomerDetails显式实例化嵌套对象
    CustomerDetails = new CustomerDetails
    {
        customer_bank_account_number = model.customer_bank_account_number,
        customer_bank_ifsc = model.customer_bank_ifsc,
        customer_email = model.customer_email,
        customer_id = model.customer_id,
        customer_name = model.customer_name,
        customer_phone = model.customer_phone
    },
    order_amount = order_amount,
    order_currency = order_currency
};

可选优化(避免后续重复实例化)

如果后续多处会用到该模型构造请求,可以直接在Customergetdata类定义时就给CustomerDetails属性设置默认实例,后续赋值时就不需要再加new了:

public class Customergetdata
{
    // 直接初始化属性默认值
    public CustomerDetails CustomerDetails { get; set; } = new CustomerDetails();
    public string order_amount { get; set; }
    public string order_currency { get; set; }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 00:06:05