Путь к действию не может быть найден с атрибутом маршрута в asp.net mvc

Я использую asp.net mvc с указанием маршрута и получаю эту ошибку:

System.Web.HttpException (0x80004005): No matching action was found on controller 'Test.RequestController'. This can happen when a controller uses RouteAttribute for routing, but no action on that controller matches the request.


public class TestController : Controller
    {      


        [Route("~/api/test")]
        [HttpPost]       
        public async Task<ActionResult> Post(TestRequest r)
        { 
            return new HttpStatusCodeResult(HttpStatusCode.Created);
        }
    }

Почему мой маршрут с localhost:5555/api/test с POST не найден?

Это моя настройка маршрута по умолчанию:

public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapMvcAttributeRoutes();
        }

1 ответ

Решение

RouteAttribute не должно быть ведущим ~,

Другие вопросы по тегам