Параметр IActionResult не передается - PullRequest
0 голосов
/ 31 августа 2018

Я отправляю следующий запрос на

http://somesite.ngrok.io/nexmo?to=61295543680&from=68889004478&conversation_uuid=CON-btt4eba4-dbc3-4019-a978-ef3b230e923a&uuid=2ddh8172jbc252e02fa0e99445811fdc

Метод контроллера действий в моем приложении ASP.NET Core:

[HttpPost]
public IActionResult Index(string uuid)
{
    string s = uuid;
    return View();
}

При установке точки останова на линии return, почему s = null? Оно должно равняться 2ddh8172jbc252e02fa0e99445811fdc.

UPDATE

Добавление [FromQuery] не похоже на работу. Я связался с командой API, и они ответили мне, что это информация, которую они размещали на моем URL:

"HTTP-METHOD=POST"
"HTTP-RESP=callback response is ignored"
"CONVERSATION-ID=CON-81593cc2-cba0-49e7-8283-f08813e1a98e"
"HTTP-REQ={from=61400104478, to=61290567680, uuid=8a4079c012c1bfa23f6dff8485e27d00, conversation_uuid=CON-81593cc2-cba0-49e7-8283-f08813e1a98e, status=started, direction=inbound, timestamp=2018-08-31T15:05:02.729Z}"

Что-нибудь из этой информации помогает? Может мне что-то десериализовать? Я бы так не подумал, но я не понимаю, почему я не получаю значение uuid, и я вижу, что запрос фактически сделал это для моего действия контроллера ...

1 Ответ

0 голосов
/ 31 августа 2018

Поскольку вы не указали действию ожидать параметр из строки запроса

[FromHeader], [FromQuery], [FromRoute], [FromForm]: Используйте их, чтобы указать точный источник привязки, который вы хотите применить.

Создать модель для хранения значений

public class Model {
    public string uuid { get; set; }

    //...other properties
}

и обновите действие, чтобы использовать [FromQuery] для привязки модели на основе значений ключа, указанных в строке запроса

[HttpPost]
public IActionResult Index([FromQuery]Model model) {
    if(ModelState.IsValid) {
        var uuid = model.uuid;
        string s = uuid;
        return View();
    }
    return BadRequest();
}

В идеале для запросов POST вы должны использовать преимущество BODY для более сложных типов, поскольку строка запроса более ограничена, чем тело запроса.

Ссылка Связывание модели в ASP.NET Core

...