API-маршрут не найден - PullRequest
0 голосов
/ 16 октября 2018

В моем коде есть 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 голосов
/ 16 октября 2018

Вы уверены, что не следует использовать RouteAttribute для украшения действия, а не HttpRouteAttribute, вы не создали это с помощью intellisense для создания класса с именем HttpRouteAttribute случайно у вас?

...