我创建使用C#框架“servicestack”(http://www.servicestack.net/)休息web服务,我有问题想弄清楚如何支持更复杂的层次休息
而我配置各种途径和它完美的作品
Routes
.Add<MerchantDto>("/merchants")
.Add<MerchantDto>("/merchants/{id}")
.Add<MerchantDto>("/merchantGroups/{merchantGroupId}/merchants")
.Add<MerchantDto>("/merchantGroups/{merchantGroupId}/merchants/{id}")
.Add<StoreDto>("/stores")
.Add<StoreDto>("/stores/{id}")
.Add<StoreDto>("/merchants/{merchantId}/stores")
.Add<StoreDto>("/merchants/{merchantId}/stores/{id}");
这一切工作正常。 这个问题是这样做....
.Add<StoreDto>("/merchantGroups/{merchantGroupId}/merchants/{merchantId}/stores/{id}
这里的问题是,StoreDto对象仅包含一个MERCHANTID,它不包含MerchantGroupId所以这是行不通的。
一个解决方案是将MerchantGroupId添加到DTO但问题是,我与其他一些WCF服务共享DTO如果我是有在其中检索操作过程中不会填充StoreDto一个MerchantGroupId财产可能会造成混乱。
另外,我认为这是在不同的地方突然出现,所以我希望有一个更好的办法做到这一点。
有什么建议么?