ServiceStack休息 - 复杂的URI层次(ServiceStack Rest - Comp

2019-10-17 05:31发布

我创建使用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财产可能会造成混乱。

另外,我认为这是在不同的地方突然出现,所以我希望有一个更好的办法做到这一点。

有什么建议么?

Answer 1:

像@myth说,我只是做的事情,试图产生MVC般的URL路径复杂。

我坚持使用URI路径,是。



文章来源: ServiceStack Rest - Complex uri hierarchies