Направить URI в разные классы на основе метода

Я хотел бы направить один и тот же URI на два разных класса в зависимости от того, является ли метод HTTP GET или POST. Я пытался сделать это с RouteAttribute, но ни один маршрут не работает. Если я удаляю один, другой работает. Если я положу методы в одном классе, это также работает. Я также пытался RouteAttribute + HttpGetAttribute а также RouteAttribute + HttpPostAttribute, Есть ли способ разделить методы на два разных класса?

1 ответ

Я думаю, что вы должны попробовать с HttpMethodConstraint в объявлении маршрута код будет примерно таким:

routes.MapRoute(
    "route for the GET verb",
    "url",
    new { controller = "controller", action = "action" },
    new { httpMethod = new HttpMethodConstraint("GET") }
);

routes.MapRoute(
    "route for POST verb",
    "url",
    new { controller = "other controller", action = "other action" },
    new { httpMethod = new HttpMethodConstraint("POST") }
);

Надеюсь, поможет.

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