在查询字符串 HTTP 请求中传递过滤器和排序参数并使用 Flask 进行解析

sbo*_*rpo 6 http query-string flask-restful

我正在使用 Flask 开发 REST api。我的端点之一应该支持过滤和排序。假设我有这些字段:类别、颜色、严重性。

假设我想获取类别为“a”或“b”且颜色为黑色的所有项目,并按严重的升序和颜色降序对其进行排序。

对于排序,我看到前面的“+”或“-”是设置顺序的一种方法。

1.解码过滤器表达式的最佳实践是什么?假设我想使用查询字符串方法在 get 请求中传递参数(或者最好的选择是使用 json-body 参数来满足此需要)

2. 在flask框架中解析它的最佳方法是什么?

my_ip/items?sort=+severity&sort=-color&filter=???

And*_*nov 4

本文就如何处理它提供了一些很好的建议:分页、过滤和排序

例如:

  • 仅指定排序键:
    • sort=key1,key2,key3
    • key1是第一个键,key2是第二个键,依此类推。
  • 排序方向由服务器默认
  • 指定了一些排序方向:
    • sort=key1:asc,key2,key3
    • 任何没有对应方向的排序键都是默认的
    • key1是第一个键(升序),key2是第二个键(服务器默认的方向),等等。
  • 指定相同数量的排序键和方向:
    • sort=key1:asc,key2:desc,key3:asc
    • 每个按键都与相应的方向配对
    • key1是第一个键(升序),key2是第二个键(降序),等等。