Я хочу сопоставить метод действия WebAPI с URL-адресами в формате api/v2/l8n/{cultureCode}
, но чтобы избежать конфликтов маршрута с другими методами, мне нужно ограничить параметр cultureCode
только значениями, соответствующими регулярному выражению ^\w{2}(?:-\w{2})?$
, т. е. sv
и en-GB
, но не hello
.
У меня есть атрибут RoutePrefix
в контроллере, который отвечает за api/v2/i8n
, поэтому я попытался сопоставить действие с
[Route(@"{cultureString:regex(^\w{2}(?:-\w{2})?$)")]
но затем во время настройки была выдана ошибка о том, что {cultureString:regex(^\w{2
было неверным значением маршрута. Я попытался заменить \w{2}
на \w\w
, а также удалить @
и экранировать обратную косую черту, но вместо этого был представлен
Шаблон маршрута не может начинаться с символа '/' или '~' и не может содержать '?' персонаж.
Если я даже не могу использовать ?
, как я могу создать регулярное выражение с дополнительной частью?