基于数据处理调用
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
我正在尝试构建具有单个端点的 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