跳转到: 导航, 搜索

API 特别兴趣小组/当前设计/排序

分析

排序通过使用 'sort_key' 和 'sort_dir' 查询字符串参数来确定;调用者可以多次指定这些参数,以生成排序键和方向的列表。

支持以下排序方向值:

描述
asc 升序
desc 降序

有效的排序键基于项目的的数据模型。

排序键和方向按照它们作为查询字符串参数指定的顺序应用。例如,以下指定 'key1' 作为第一个排序键(升序),'key2' 作为第二个排序键(降序),等等。

sort_key=key1&sort_dir=asc&sort_key=key2&sort_dir=desc&sort_key=key3&sort_dir=asc

当前设计

以下列出的项目的 REST API 对排序键和排序方向的支持程度各不相同,范围从多个键和方向到单个键和单个方向。

一些项目还会将默认排序键附加到用户定义的键列表中。

下表总结了当前的行为:

项目 排序键的数量 排序方向的数量 默认键 默认方向
Nova 多个 多个 'created_at', 'id' desc
Neutron 多个 多个
Cinder 单个 单个 'created_at', 'id' desc
Ironic 单个 单个 'id' asc
Glance 多个 单个 'created_at', 'id' desc
Heat 多个 单个 'created_at', 'id' desc

更多项目特定的信息可以在下面找到。

Nova

支持提供的排序方向少于排序键;对于没有关联方向的键,将应用默认方向。

Neutron

需要相等数量的排序键和排序方向。

Cinder

此 BP 提出了对多个排序键和多个排序方向的支持

Glance

Glance 支持多个排序键和单个排序方向;排序方向应用于所有键。

Heat

Heat 支持多个排序键和单个排序方向;排序方向应用于所有键。