我正在构建一个Restful API,在某些情况下,它接受一个Date作为列表的参数。
例如,我有url / api / members /,我们可以使用created
日期参数进行过滤。
现在,我想以多种方式接受这个日期:
这是我提出的解决方案,我想知道这是否合适或是否有更好的选择:
创建的参数将接受日期作为字符串(Iso 8601标准,YYYY-MM-DD hh:mm:ss)值。此参数可以添加以下值:
,<,< =,> =,=(默认情况下,如果没有提及)。
通过执行此操作,用户可以通过执行以下操作来请求在特定日期之前创建的成员列表:
?created=%3C2014-02-19 # (<)
?created=%3C%3D2014-02-19 15:00:00 # (<=)
?created=%3E2014-02-19 14:00:00 # (>)
?created=%3E%3D2014-02-18 # (>=)
?created=%3D2014-02-19 # =
?created=2014-02-19 # This is EXACTLY the same as the previous one.
使用查询的JSON表示(您在jQuery.ajax中作为data
传递的内容):
{'created': '<2014-02-19'}
{'created': '<=2014-02-19 15:00:00'}
{'created': '>2014-02-19 14:00:00'}
{'created': '>=2014-02-18'}
{'created': '=2014-02-19'}
{'created': '2014-02-19'} # This is EXACTLY the same as the previous one.
对于“之间”两个日期,created也可以接受两个值,在这种情况下,不会接受前缀后缀,例如:
?created[]=2014-02-01&created[]=2014-02-28
再次,作为jQuery.ajax参数:
{'created': [2014-02-01, 2014-02-28]}
您对此实施有何看法?