我遇到一个JavaScript客户端模型与WebAPI模型不匹配的情况。在以下代码中,客户端的状态是字符串,而WebAPI中的状态是整数。
如何在Post方法中添加 if 语句并且不修改顺序,如何实现状态从字符串到整数的映射>模特?
$.post('/Shipping/UpdateStatus', { orderId: 1000, status: "Accepted"} )
void Post([FromBody] Order order)
{
}
class Order
{
int OderId { get; set; }
int ShippingStatus { get; set; };
}
答案 0 :(得分:3)
您可以使用自定义JSON.NET转换器来实现此目的。有关详细信息,请参阅this post。有关此主题的更多信息,请参阅Parameter Binding in ASP.NET Web API
class Order
{
int OderId { get; set; }
[JsonConverter(typeof(CustomIntConverter))]
int ShippingStatus { get; set; };
}