Как передать параметр в мой URL для функции POST, которая принимает строковый параметр? - PullRequest
0 голосов
/ 31 мая 2019

Я использую ASP.NET Core для веб-API и создал функцию POST и не знаю, как передать строку «имя» в URL, чтобы функция могла вернуть правильную строку.

URL должен быть:

https://localhost/44320/api/

//This is in my Controller class
[HttpPost("test/{name}")]
public string PostTest(string name)
{
    return "Name: " + name;
}

Возвращаемое значение говорит само за себя, но я просто получаю ошибку 405, когда я делаю https://localhost:44320/api/test/bob/

Ответы [ 2 ]

0 голосов
/ 31 мая 2019

попробуй так:

[HttpPost]
[Route("test/{name}")]
0 голосов
/ 31 мая 2019

Убедитесь, что ваш контроллер выглядит следующим образом:

[Route("api/[controller]")]
public class ListController : Controller
{        
    [HttpPost("test/{name}")]
    public string Post([FromRoute] string name)
    {
        return "Name: " + name;
    }
}

Поставьте точку останова в операторе return, отладьте приложение и затем отправьте ему запрос POST с помощью: https://localhost:44320/api/list/test/bob

name должен содержать значение bob.

Редактировать: Вот рабочий скриншот выше, хотя порт localhost явно отличается.

successful-post-api-call

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