Контроллер API вызова MVC Действие PostAsJsonAsync Имя метода Получить

Я делаю приложение Asp .Net MVC 5, и я вызываю контроллер API, используя PostAsJsonAsync как это

int value=0;
HttpResponseMessage response = await client.PostAsJsonAsync(apiUrl + "Method/Action",value);

Мой метод контроллера Api выглядит следующим образом...

[ActionName("GetByUpload")]
public int ByUpload([FromBody]long id)
{
    return 100;
}

Если имя метода начинается с GET дай мне ошибку 405

Почему нельзя вызвать метод, начатый с Get?

Любой способ может вызвать Get..something?

1 ответ

Решение

Если вы намереваетесь опубликовать это действие, вам необходимо явно назначить HttpPost атрибут действия, чтобы таблица маршрутов знала, как сопоставить запросы с этим действием.

[HttPost]
[ActionName("GetByUpload")]
public int ByUpload([FromBody]long id)
{
    return 100;
}
Другие вопросы по тегам