Проблемы с получением SMS-ответа Twilio из конечной точки ASP.NET Core MVC - PullRequest
0 голосов
/ 03 июля 2018

Когда я настраиваю bin запроса, я получаю ответ, который кажется совершенно нормальным (см. Снимок экрана ниже). Когда я использую команду

ngrok http 5000

И я отправляю ответ своей локальной конечной точке http, ngrok сообщает 200OK, если у моего метода POST в контроллере нет параметров. Даже если я добавлю один параметр (строковое содержимое [FromBody]), я получу 400 неверных запросов из консоли ngrok.

Я вставляю ниже пару разных методов POST, которые я пробовал. Я попытался унаследовать свой контроллер от контроллера и контроллера и получить то же поведение.

    [HttpPost]
    public string JsonStringBody([FromBody] TwilioSmsModel twilioSmsModel)
    {
        return "";
    }


     POST: api/SmsBody
    [HttpPost]
    public async Task<IActionResult> PostTwilioSmsModel([FromBody] TwilioSmsModel twilioSmsModel)
    public async Task<IActionResult> Post()
    {
        var twilioSmsModel = new TwilioSmsModel();
        if (!ModelState.IsValid)
        {
            return BadRequest(ModelState);
        }

        _context.TwilioSmsModels.Add(twilioSmsModel);
        await _context.SaveChangesAsync();

        return CreatedAtAction("GetTwilioSmsModel", new { id = twilioSmsModel.SmsSid }, twilioSmsModel);
    }

enter image description here

Если на github есть пример смс-уведомлений, работающих с asp.net core 2.1, это очень помогло бы.

1 Ответ

0 голосов
/ 03 июля 2018

Twilio разработчик евангелист здесь. Скорее всего, ошибка, которую вы видите, не имеет ничего общего с тем, как вы строите свое приложение, но с тем фактом, что .NET ожидает передачи некоторых заголовков хоста для обработки вашего запроса. И почему он работает с requestbin.

Вы не указали ни одного сообщения об ошибке в своем вопросе, так что это предположение, но попробуйте изменить ваш комментарий ngrok на следующее:

ngrok http 5000 -host-header="localhost:5000"

И вы должны перестать видеть ошибку 400, которую вы получаете, и запросы должны проходить нормально.

Надеюсь, это поможет.

...