我有一个带有Mongo后端的RESTful API端点。我允许用户使用GET参数过滤他们的查询,例如获取网站上/about
页面的分析:
/page-analytics?filter_by=pagePath:/about
我想扩展它以支持正则表达式过滤器,例如获取网站上/about
以下所有网页的分析结果:
/page-analytics?filter_by=pagePath:/about/.*
我的问题是关于在我的API中表示这一点的最常规方式。
理想情况下,我只想在用户实际打算使用正则表达式时使用正则表达式搜索(因为它比简单查找更昂贵)。因此,最好指出用户打算使用正则表达式。
我想知道最好的方法是否有一个全新的参数:
/page-analytics?filter_by_regex=pagePath:/about/.*
或许可以使用不同的运算符来表示正则表达式,例如下面的波浪号:
/page-analytics?filter_by=pagePath:/about
/page-analytics?filter_by~=pagePath:/about/.*
有关于此的约定吗?