Думаю тут, что мой формат достаточно устарел, не всегда удобен. Рассматриваю вариант упрощения и улучшения. Понятно, что лучше подсмотреть, как с этим в других вариантах.
Навскидку самый красивый и удобный роутинг — у PlayFramework:
* /clients/{id} Clients.show
GET /clients/{id}/accounts/{accountId} Clients.blah.blah
Правда, немного некрасиво становится при использовании регекспов:
/clients/{<[a-z]{4,10}>id}
У Django роутинг просто ужасен:
urlpatterns = patterns('',
(r'^articles/2003/$', 'news.views.special_case_2003'),
(r'^articles/(?P<year>\d{4})/$', 'news.views.year_archive'),
(r'^articles/(?P<year>\d{4})/(?P<month>\d{2})/$', 'news.views.month_archive'),
(r'^articles/(?P<year>\d{4})/(?P<month>\d{2})/(?P<day>\d{2})/$', 'news.views.article_detail'),
)
Или я что-то упустил и есть какие-нибудь более приличные ныне надстройки?
Вариант RoR не сильно лучше.
match "/:year(/:month(/:day))" => "info#about", :constraints =>
{ :year => /\d{4}/, :month => /\d{2}/, :day => /\d{2}/ }
Какие ещё есть популярные варианты?