在我的WebApiConfig.cs文件中,我定义了以下路由:(这是此处定义的唯一路径)
config.Routes.MapHttpRoute(
name: "DefaultApi2",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new {id = RouteParameter.Optional}
);
我正在制作的POST是:
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."}
从Phil的程序看起来路线应该有效。有什么想法吗?
答案 0 :(得分:0)
我将Login方法的参数更改为
public HttpResponseMessage Login(FormDataCollection formDataCollection)
它有效。我似乎缺少一些关于如何处理POST参数的东西,因为在formDataCollection中,用户名和密码都在那里。我不确定那与
不一样public HttpResponseMessage Login(string username,string password)