我开始在API REST应用程序中通过查询字符串实现过滤,我可以对传递给数据库中实体的任何字段执行过滤。但是我想要区分的特殊参数;来自将用于过滤集合的其他字段的sort
,page
,direction
等。
我想避免使用像:
这样的实现 /?filters=field1:value1,field2:value2&page=3&per_page=50
因为我需要为filters
值创建一个自定义解析器。
我想要的结构更简单,就像这样:
/?lastname=Halden&country=somewhere&$sort=lastname
因此,所有未使用 $
作为前缀的属性都会用于制作过滤器,而带有前缀的其他属性则用于调整结果。
我的实际问题是,如果安全?如果在某些库中解析整个查询字符串的时刻可能存在问题。
答案 0 :(得分:1)
应该没问题。事实上,ODATA是企业软件中广泛使用的REST标准之一,使用$
的方式与您想要使用的方式相同。您可以使用的另一个合理选项是_
(例如_sort
,_page
等。)