在我的POST请求操作中,JsonProperty映射不起作用

时间:2019-12-21 11:40:55

标签: c# asp.net json asp.net-core-3.1

我有一个如下的模型和控制器

public class OrderModel
{
    [JsonProperty("order_id")]        
    public string ID { get; set; }

    [JsonProperty("delivery_shift")]
    public string DeliveryShift { get; set; }
    public string InvoiceType { get; set; }
}
[Route("api/[controller]")]
[ApiController]
public class OrderController : ControllerBase
{
    [HttpPost]
    public IActionResult Index([FromBody] OrderModel order) {

        return new JsonResult(new
        {
            order.ID,
            order.DeliveryShift,
            order.InvoiceType
        });
    }
}

现在,当我在正文中使用此json提交发布请求时,order_iddelivery_shift不会与模型映射。

{"order_id": "OrderID", "delivery_shift": "evening", "InvoiceType": "DUE"}

但是当我以这种格式提交json时它可以工作,但我需要以前的格式才能工作

{"ID": "OrderID", "DeliveryShift": "evening", "InvoiceType": "DUE"}

谢谢。

已解决

感谢@AhmetUrun更新具有JsonPropertyName属性的模型。

public class OrderModel
{
    [JsonPropertyName("order_id")]        
    public string ID { get; set; }

    [JsonPropertyName("delivery_shift")]
    public string DeliveryShift { get; set; }

    public string InvoiceType { get; set; }
}

0 个答案:

没有答案