У моих контроллеров есть методы Get (), Put (), Post (), Delete () и т. Д. Я думаю, что использование «условий действия» запутывает проблему.
Я всегда создаю другой контроллер для коллекций и отдельных вещей. Для меня это очень разные ресурсы, и я хочу, чтобы методы HTTP делали разные вещи.
Маршрутизация у меня отличается от большинства фреймворков. Я сопоставляю не весь URL, а сегмент за сегментом. Это похоже на работу SubResources в JAX-RS
Для сервисов, которые имеют только небольшое количество различных ресурсов, тогда использование соответствия шаблону URL в стиле регулярных выражений вполне допустимо. Я только что обнаружил, что он начал разрушаться, как только вы начнете иметь дело с сотнями ресурсов.