我正在尝试使用MVC ApiControllers
构建一个简单的API。但似乎我的路由不正确,因为当我点击我的端点时,我总是得到一个404
响应代码。
我有ApiController
代码:
namespace MyProject.Web.Controllers
{
public class TestController : ApiController
{
[AllowAnonymous]
[Route("test")]
public IHttpActionResult Test() {
return Ok();
}
}
}
我的WebApiConfig.cs是:
namespace MyProject.Web
{
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
var jsonFormatter = config.Formatters.OfType<JsonMediaTypeFormatter>().First();
jsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
}
}
}
当我转到端点http://localhost:7248/test
时,我收到404
(未找到)错误。
我还尝试删除config.MapHttpAttributeRoutes();
并点击网址http://localhost:7248/api/test/test
,但我仍然看到404
。
无论我尝试什么,我似乎都无法做到这一点。有没有人看到我出错的地方?