我正在寻找重构一个糟糕系统的选项,删除大量数据问题并将它们放入一个宁静的 Web 服务中是有意义的。然而,我不确定的一件事是我过滤、排序和分页数据的方式。与基于 restful 的查询一样,它通常被分解为路由的许多部分,但是如果您需要执行非常复杂的查询怎么办?
大多数示例显示了典型的内容,例如:
http://some-service.com/customers/UK
这将吸引英国的所有客户
但是,如果我想让英国境内所有年龄在 28 岁以下的客户按姓氏排序,从索引 0 到 50 怎么办?
http://some-service.com/customers/UK/LT28/Surname/0/50/
这可能会做到,但是第一个参数总是期望是一个国家,然后必须以某种方式将 LT28 转换为逻辑< 28
然后知道第三个参数是排序然后分页。这一切看起来都非常脆弱和静态,所以假设您对上述内容感到满意,您如何查询所有尚未计费的客户,从索引 0 到 50 的页面?
http://some-service.com/customers/NotBilled/0/50/
这可能会做到,但希望你会看到我现在试图到达这里的重点。
那么有没有一种最佳实践方法来处理宁静服务中的此类问题?
我目前专门在 .net 环境中工作,但不想通过技术来限制答案,因为希望如果有解决这个问题的好方法,那么大多数框架都会支持它。