【发布时间】:2019-03-21 08:56:27
【问题描述】:
我的代码中有一个带有路由前缀的 API,但是当我尝试点击它时,我得到了 404。这是我的代码:
namespace MyProject.Authentication.Controllers
{
[RoutePrefix("api/user")]
public class MyUserController : ApiController
{
private readonly IMyDomainService _myDomainService;
public MyUserController()
{
_myDomainService = new MyDomainService();
}
[HttpGet]
[HttpRoute("get/test")]
public HttpResponseMessage Test()
{
return Request.CreateResponse(HttpStatusCode.OK, "test success");
}
}
}
当我尝试访问 mysite.com/api/user/get/test 时,我得到了 404。
我检查了 AttributeRoutingHttpConfig.cs,这就是我在其他 API 工作正常的项目中的样子:
public static class AttributeRoutingHttpConfig
{
public static void RegisterRoutes(HttpRouteCollection routes)
{
// See http://github.com/mccalltd/AttributeRouting/wiki for more options.
// To debug routes locally using the built in ASP.NET development server, go to /routes.axd
routes.MapHttpAttributeRoutes();
}
public static void Start()
{
RegisterRoutes(GlobalConfiguration.Configuration.Routes);
}
}
编辑:这是在 ASP.NET 4.5 中
【问题讨论】:
-
我很好奇:
[HttpRoute("get/test")]。也许我不熟悉该属性,但我希望它是[Route("get/test")]。
标签: c# asp.net api asp.net-mvc-4 routes