joh*_*doe 3 c# asp.net asp.net-mvc asp.net-web-api asp.net-web-api-routing
我想发布到以下Web API:
http://localhost:8543/api/login/authenticate
Run Code Online (Sandbox Code Playgroud)
LoginApi(Web API)定义如下:
[RoutePrefix("login")]
public class LoginApi : ApiController
{
[HttpPost]
[Route("authenticate")]
public string Authenticate(LoginViewModel loginViewModel)
{
return "Hello World";
}
}
Run Code Online (Sandbox Code Playgroud)
WebApiConfig.cs:
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
Request URL:http://localhost:8543/api/login/authenticate
Request Method:POST
Status Code:404 Not Found
Remote Address:[::1]:8543
Run Code Online (Sandbox Code Playgroud)
您的控制器名称"LoginApi"需要以"Controller"结尾,以便框架找到它.例如:"LoginController"
这篇文章解释了ASP.NET Web API中的路由:http://www.asp.net/web-api/overview/web-api-routing-and-actions/routing-in-aspnet-web-api
| 归档时间: |
|
| 查看次数: |
7851 次 |
| 最近记录: |