找不到API路线

时间:2018-10-16 18:39:10

标签: c# asp.net api asp.net-mvc-4 routes

我的代码中有一个带有路由前缀的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中

1 个答案:

答案 0 :(得分:2)

您确定它不应该使用RouteAttribute来装饰动作而不是HttpRouteAttribute吗?您没有通过使用intellisense创建名称为{{1}的类来创建它}您偶然遇到了吗?