Обработка вызовов на основе данных - PullRequest
0 голосов
/ 09 апреля 2020

Я пытаюсь создать API (. NET Core 3.1) с одной конечной точкой. Способ обработки этого вызова зависит от данных, с которыми он был отправлен.

Я нашел примеры полиморфизма и пользовательского связывания данных. Но в этом примере это не так, потому что я хочу обработать все в зависимости от заданного свойства Type.

[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();
    }

Classes

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; }
}

Я ломаю голову над этим в течение нескольких дней. Надеюсь, вы, люди, можете мне помочь.

Заранее спасибо!

1 Ответ

0 голосов
/ 09 апреля 2020

Я был немного глупым. Более практично использовать необработанный запрос и приведение вручную. Но если это невозможно или желательно, используйте привязку пользовательской модели. С привязкой это немного сложнее документация по привязке пользовательской модели

Редактировать:

Мартин задал SO вопрос, который объяснит использование необработанной json ссылки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...