gpt4 book ai didi

c# - 将对象绑定(bind)到 Web API 端点时指定自定义属性名称

转载 作者:可可西里 更新时间:2023-11-01 08:35:35 27 4
gpt4 key购买 nike

我有一个 .Net Core Web API。当模型属性与请求正文匹配时,它会自动映射模型。例如,如果你有这个类:

public class Package
{
public string Carrier { get; set; }
public string TrackingNumber { get; set; }
}

如果请求正文是以下 JSON,它会正确地将它绑定(bind)到 POST 端点:

{
carrier: "fedex",
trackingNumber: "123123123"
}

我需要做的是指定要映射的自定义属性。例如,使用上面的相同类,如果 TrackingNumber 作为 tracking_number 出现,我需要能够映射到 JSON。

我该怎么做?

最佳答案

TejSoft's answer默认情况下在 ASP.NET Core 3.0 Web API 中不起作用。

从 3.0 开始,ASP.NET Core Json.NET (Newtonsoft.Json) 子组件从 ASP.NET Core 共享框架中移除。它宣布,“Json.NET 将继续与 ASP.NET Core 一起工作,但它不会与共享框架一起使用。”新增Json Api声称专门针对高性能场景。

使用 JsonPropertyName 属性设置自定义属性名称:

using System.Text.Json.Serialization;

public class Package
{
[JsonPropertyName("carrier")]
public string Carrier { get; set; }

[JsonPropertyName("tracking_number")]
public string TrackingNumber { get; set; }
}

关于c# - 将对象绑定(bind)到 Web API 端点时指定自定义属性名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42846960/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com