【发布时间】:2017-09-28 01:08:23
【问题描述】:
ExpressJs 允许您匹配条件(也称为动态或模糊)路由匹配。像GET '/people(/sex/:sexFilter)?(/age-over/:ageOverFilter)?'这样的路由
将匹配以下示例:/people/people/sex/female/people/sex/female/age-over/30
和(最重要的是)/people/age-over/30
我想知道是否有一种方法可以配置 ServiceStack(用于 C# Xamarin 应用程序)客户端,如果请求 dto 对象属性留在null 中,该客户端将生成以下路由,例如:
HttpService.Instance.Get<Person[]>(new SearchPeopleRoute() { sexFilter = "female" });
// Generates /people/sex/female
HttpService.Instance.Get<Person[]>(new SearchPeopleRoute() { ageOverFilter = 30 });
// Generates /people/age-over/30
该解决方案需要可扩展到许多搜索过滤器,因此无法维护每个过滤器排列的 [Route(...)] 属性。
我不知道是否有办法在调用之前在运行时生成路由,但那会很棒。
【问题讨论】:
标签: c# express routing servicestack