HTTPPost MVC 4 веб-API - PullRequest
       1

HTTPPost MVC 4 веб-API

3 голосов
/ 14 марта 2012

Я создаю веб-API MVC 4, но когда я пытаюсь сделать сообщение в веб-API, запрос возвращает

"The requested resource does not support http method 'POST'."

Заголовки моего запроса

User-Agent: Fiddler
Host: localhost:53393
Content-Length: 39
Content-Type: application/json

Тело моего запроса

{
  "username":"",
  "password":""
}

Маршруты

    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );
    }

И метод в моем контроллере

[HttpPost]
public MethodResponse Authenticate(string username, string password)
{
    ConsoleServiceClient service = new ConsoleServiceClient();
    return service.Authenticate(username, password);
}

URL, который я использую

http://localhost:53393/api/service/authenticate

Я все еще новичок в этом, но не могу понять, почему POST не поддерживается?

Спасибо

1 Ответ

5 голосов
/ 14 марта 2012

Попробуйте использовать http://localhost:53393/api/service в качестве URI, поскольку в данный момент у вас нет сегмента {action} в маршруте API.

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