基于数据处理调用

Process call based on data

我正在尝试构建具有单个端点的 API (.NET Core 3.1)。如何处理这个调用取决于它发送的数据。

我找到了多态性和自定义数据绑定的示例。但是感觉不适合这个例子,因为我想根据给定的类型 属性.

处理所有
[HttpPost]
    public IActionResult CreatePayment([FromBody]PaymentRequest request)
    {
        if (request.Type == "MultiSafepay")
        {
            // cast and do specific logic
        }
        else if(request.Type == "Other")
        {
            // cast and do specific logic
        }
        return Ok();
    }

public class MultiSafepayPaymentResponse : PaymentResponse
{
    public string PaymentUrl { get; set; }
    public string QRCodeUrl { get; set; }
}

public class PaymentRequest
{
    public string Type { get; set; }
    public string Amount { get; set; }
    public string Description { get; set; }
}

这几天我都在为此伤脑筋。希望大家帮帮我。

提前致谢!

我有点傻。使用原始请求并手动转换更为实用。 但如果不可能或不想使用自定义模型绑定。通过绑定,它有点棘手 custom model binding documentation

编辑:

Martin 提出了一个 SO 问题来解释如何消费原始 json