#c# #php
Вопрос:
Я пытаюсь получить доступ к стороннему API. Документация стороннего поставщика API содержит следующий PHP-код о том, как получить доступ к отправленным данным. Мой код написан на C# dotnetcore. Я попробовал несколько способов доступа к API, но получил сообщение об ошибке 415. Может кто-нибудь помочь мне решить эту проблему.
lt;?php $mmid = $_POST['mm_id']; $ooid = $_POST['oo_id']; ?gt;
Мой код на C#
[HttpPost("b_notice")] [ProducesResponseType(typeof(string), (int)HttpStatusCode.OK)] public async Tasklt;ActionResultgt; APIUrl(string mm_id) { try { return Ok(mm_id); } catch (Exception ex) { return BadRequest(ex.Message); } }
Код ответа, который я получаю, — 415 Неподдерживаемых типов носителей. . Я думаю, что они не используют JSON. Кто-нибудь может помочь мне решить эту проблему ?
Примечание: Сторонний поставщик говорит, что они используют » приложение/x-www-форма-URL-кодированный.
Ответ №1:
Вы должны быть в состоянии сделать это, установив заголовок ответа типа содержимого. API ожидает ввода из html-формы, но он получает ввод откуда-то, чего не ожидает. Я не уверен, как бы вы изменили заголовки в C#, но это хорошее место для начала. Попробуйте протестировать его в отладчике http-запросов, таком как postman
Комментарии:
1. Это то, что я сделал»[Потребляет («приложение/x-www-форма-urlencoded»)]».
2. Это сработало? Слово Потребляет заставляет меня думать, что оно изменяет заголовок Accept, который предназначен для представления типа данных ответа с сервера.