0

在我的 WebApiConfig.cs 文件中,我定义了以下路由:(这是此处定义的唯一路由)

config.Routes.MapHttpRoute(
            name: "DefaultApi2",
            routeTemplate: "api/{controller}/{action}/{id}",
            defaults: new {id = RouteParameter.Optional}
            );

我正在做的帖子是:

http://localhost:17138/api/Account/Login

我的控制器是这样的:

namespace WebAPI.Api
{
  public class AccountController : ApiController
  {
    [HttpPost]
    public HttpResponseMessage Login(string username,string password)
    {...

我得到的错误是:

{"Message":"NoHTTPresourcewasfoundthatmatchestherequestURI'http://localhost:17138/api/Account/Login'.","MessageDetail":"Noactionwasfoundonthecontroller'Account'thatmatchestherequest."}

从菲尔的程序来看,这条路线应该可行。有什么想法吗?

在此处输入图像描述

4

1 回答 1

0

我将登录方法的参数更改为

public HttpResponseMessage Login(FormDataCollection formDataCollection)

它奏效了。似乎我缺少有关如何处理 POST 参数的一些信息,因为在 formDataCollection 中,用户名和密码都在那里。我不知道那不一样

public HttpResponseMessage Login(string username,string password)
于 2013-02-12T23:35:21.947 回答