Restful是否定义了为API用户参数提供排序顺序方向(上升或降序)的适当方法?
我允许用户输入一个请求字符串,它只允许API的两个选项工作“上升”或“下降”。是否有更正式的方式按照标准来做这件事?
请求:
{
"sortField": "PaymentDate",
"sortOrder": "Descending"
}
发布于 2022-08-03 07:40:58
JSON:API规范指定排序顺序默认为升序。客户端可以通过在排序字段前加上减号(-
)来切换排序顺序。
每个排序字段的排序顺序必须是升序,除非以减号作为前缀(U+002D连字符-减号,“-”),在这种情况下,排序顺序必须降序。 https://jsonapi.org/format/1.1/#fetching-sorting
给出的示例看起来不像是您的API实现了JSON:API规范。即使这个问题用[json-api]
标记。如果您的API没有实现JSON:API规范,那么您可以随意设计用于控制排序顺序的API。
OpenStack项目的API规范可以给出一个灵感。它还使用逗号分隔的排序字段列表:?sort=key1,key2,key3
。客户端可以使用冒号( asc
,:
)作为分隔符:?sort=key1:asc,key2:desc,key3:asc
,通过在排序字段中添加:
或desc
来指定排序方向。如果未指定排序方向,则服务器可以选择排序方向。
排序是通过使用“排序”查询字符串参数来确定的。此参数的值是以逗号分隔的排序键列表。排序方向可以可选地附加到每个排序键,并以“:”字符分隔。 所支持的排序方向是“asc”表示升序,或“desc”表示“降序”。 调用方可以(但不需要)为每个键指定排序方向。如果没有为键指定排序方向,则服务器将设置默认值。 sort.html#sorting
https://stackoverflow.com/questions/73216903
复制相似问题