Можно ли определить маршруты, подобные Github, в ServiceStack? Я хотел бы определить REST API, как:Github-подобные маршруты в ServiceStack
home /
account home /{account}
project detail /{account}/{project}
project issues index /{account}/{project}/issues
project issues detail /{account}/{project}/issues/1
Я пробовал:
[Route("/{Account}"]
public class GetAccount : IReturn<AccountDto> {
public string Account { get; set; }
}
[Route("/{Account}/{Project}"]
public class GetProject : IReturn<ProjectDto> {
public string Account { get; set; }
public string Project { get; set; }
}
// DTOs for issues, etc...
Вышеприведенные DTOS бросить эту NotSupportedException при запуске:
RestPath '/{Account}' on Type 'GetAccount' is not Valid
Это кажется довольно очевидным, что ServiceStack 4 не должен поддерживать этот прецедент (следовательно, NotSupportedException).
Мне просто интересно, есть ли способ определить пользовательскую маршрутизацию (или написать собственную маршрутизацию), чтобы этот сценарий работал.
Отлично. Для моей окончательной архитектуры я решил использовать более простые маршруты для всех моих DTO (учетные записи:/a/{Id}/{NameSlug}, проекты:/p/{Id}/{NameSlug}) и резервный маршрут для моего веб-клиента с схема URL выше (/ {account}/{project}). До сих пор хорошо работает! –