У меня проблема с API, который я сейчас разрабатываю с WCF Web Api, вот что:
Я хочу зарегистрировать несколько классов ресурсов в качестве сервисных контрактов.Итак, у меня есть RootResource, из которого я могу получить доступ к ChildResource1, ChildResource2, ChildResourceN.
По сути, я хочу выполнить серию операций http со следующей структурой маршрута:
- GET / RootResource / {RootResouceId} / ChildResourceN / {ChildResourceNId} (это приведет к получению N-го ChildResource из RootResource)
Моя текущая регистрация ресурса:
routes.MapServiceRoute<ChildResource1>("RootResource");
А моя операция в ресурсе аннотируется следующим образом:
[WebGet(UriTemplate = "{RootResouceId}/ChildResource1/{ChildResource1Id}")]
Однако этот подход мне не удобен, потому что все мои маршруты должны иметь одинаковый шаблон,один, о котором я упоминал выше.
Если я хочу зарегистрировать другой ресурс сейчас, чтобы, скажем, ChildResource2, то:
routes.MapServiceRoute<ChildResource2>("RootResource");
Обратите внимание, что базовый маршрут такой же, и WCF Web Api не 'Я не могу этого допустить.