Как вызвать метод POST API, который размещен на IIS - PullRequest
0 голосов
/ 10 января 2019

У меня есть следующие методы http post и GET в контроллере транзакций API MVC;

    [HttpPost]
    public void ImportTransactions()
    {
      // import transactions

    }

 [HttpGet]
    public IHttpActionResult IsApiAlive()
    {
        return Ok();
    }

Служба API размещается на IIS, когда я запускаю следующий URL-адрес в IE или Chrome для POST-данных, то некоторые из них указывают, как служба вызывает метод GET, а не метод post, что является нечетным;

http://myserver01/Ftransactions/api/Transaction/ImportTransactions

URL отлично работает в почтальоне, когда я выбираю опцию POST из выпадающего списка.

1 Ответ

0 голосов
/ 10 января 2019

Если вы отправляете запросы через адресную строку вашего устройства или нажимаете на ссылку, это всегда будет запрос GET. Чтобы иметь дополнительные параметры запроса, такие как POST, вам нужно использовать HTML-форму или вызов AJAX (javascript) или иметь установленный небольшой плагин для браузера.

например:.

    <form action="/Ftransactions/api/Transaction/ImportTransactions" method="post">
          Data: 
          <input type="text" name="data">
          <input type="submit" value="Submit">
    </form> 

В большинстве браузеров есть что-то вроде dev-tool, который часто можно запустить, нажав F12 на клавиатуре или через контекстное меню (щелкните правой кнопкой мыши -> осмотреть). Это позволяет отслеживать запросы, которые вы отправляете, чтобы вы могли видеть, какого типа ваши запросы.

Пожалуйста, обратите внимание на отсутствие I в названии ваших методов mportTransactions()

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