我可以安全地使用$(美元符号)前缀我的URL查询字符串参数吗?

时间:2016-09-24 19:21:05

标签: rest url

我开始在API REST应用程序中通过查询字符串实现过滤,我可以对传递给数据库中实体的任何字段执行过滤。但是我想要区分的特殊参数;来自将用于过滤集合的其他字段的sortpagedirection等。

我想避免使用像:

这样的实现

/?filters=field1:value1,field2:value2&page=3&per_page=50

因为我需要为filters值创建一个自定义解析器。

我想要的结构更简单,就像这样:

/?lastname=Halden&country=somewhere&$sort=lastname

因此,所有未使用 $ 作为前缀的属性都会用于制作过滤器,而带有前缀的其他属性则用于调整结果。

我的实际问题是,如果安全?如果在某些库中解析整个查询字符串的时刻可能存在问题。

1 个答案:

答案 0 :(得分:1)

应该没问题。事实上,ODATA是企业软件中广泛使用的REST标准之一,使用$的方式与您想要使用的方式相同。您可以使用的另一个合理选项是_(例如_sort_page等。)