Маршрут не запускается с косой чертой в веб-API 2
Это моя конфигурация маршрута:
config.Routes.MapHttpRoute(
name: "Public",
routeTemplate: "{dept}/{unit}/",
defaults: new
{
controller = "Home",
action = "Index"
},
constraints: new { constraint = new MyConstraint() }
);
Когда я набираю в URL:
mysite.com/XYZ/123
тогда мой класс ограничения срабатывает
но когда я использую:
mysite.com/XYZ/123/
с добавленной косой чертой класс ограничений не запускается.
Я использую Web Api 2.
В routeTemplate я могу использовать "/" в конце или нет, это не имеет значения.
Почему это не работает?
ОБНОВИТЬ
public class HomeController : ApiController
{
[HttpGet]
public HttpResponseMessage Index()
{
}
}
1 ответ
Я обновил свой ответ:
Попробуйте атрибутную маршрутизацию:
[RoutePrefix("dept")]
public class DepartmentController : ApiController
{
[Route("unit:int:min(1)"}]
public object Unit() {}
}
Ограничения могут быть установлены, как указано выше. Больше: