我正在使用c#框架'servicestack'(http://www.servicestack.net/)创建一个休息网络服务,我在尝试弄清楚如何支持更复杂的休息层次结构时遇到了问题
而且我正在配置各种路线,而且效果很好
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属性,则可能会造成混淆。检索操作。
另外,我认为这是在不同的地方出现,所以我希望有更好的方法来做到这一点。
有什么建议吗?
答案 0 :(得分:0)
就像@myth说的那样,我只是想通过尝试生成类似MVC的url路径来使事情变得复杂。
我坚持按原样使用uri路径。