Как вызвать метод веб-API со стороны клиента в ядре asp.net? - PullRequest
1 голос
/ 24 апреля 2019

У меня есть пример основного приложения asp.net, и я выбрал шаблон MVC при создании проекта. Теперь я добавил новый контроллер API, как показано ниже. Как я могу назвать этот веб-API из jquery?

Я пробовал 'api / TestAPI / GetTest', который не работает. Я получаю 404 не найдена ошибка. Спасибо за любые предложения.

[Route("api/TestAPI")]
[ApiController]
public class TestAPIController : ControllerBase
{
    [HttpGet]

    public ActionResult GetTest()
    {
        return new OkResult();
    }
 }

Ответы [ 2 ]

1 голос
/ 25 апреля 2019

Ваша проблема связана с тем, как ядро ​​asp net направляет запросы. Существуют различные способы настройки обработки запросов на действия в ваших контроллерах (для получения дополнительной информации перейдите по этой ссылке ), если выЕсли вы хотите использовать имя методов вашего действия, вы можете использовать атрибут Route, как вы делали это ранее на вашем контроллере, но добавив часть действия:

[Route("api/[controller]/[action]")]
public class TestAPIController : ControllerBase
1 голос
/ 24 апреля 2019

При текущей конфигурации GET запрос с api/TestAPI URL-адресом выполнит действие GetTest. Если вы хотите использовать api/TestAPI/GetTest url, добавьте GetTest маршрут к действию

[HttpGet]
[Route("GetTest")]
public ActionResult GetTest()
{
    return new OkResult();
}

или с помощью ярлыка

[HttpGet("GetTest")]
public ActionResult GetTest()
{
    return new OkResult();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...