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