# 通用参数释义

# id 参数

常见于获取单条资源、修改、删除

# 接口地址中出现 {id}
/api/xxx/{id}

# 调用示例
/api/xxx/{1}

# 部分批量操作接口可传入多个 id,用英文逗号 ',' 分隔
/api/xxx/{1,2,3}

# 关联参数

常见于获取数据时,根据需要在 GET 参数中传入 include

# 关联字段,多个字段用英文逗号分隔,传入参数必须存在于 $include 或 $optionalInclude 中
/api/xxx?include=user,posts
无php
// 可在自己的控制器中重写下面两属性修改默认值

// 定义默认被包含的关系
public $include = [];

// 其它可用的关系
public $optionalInclude = [];

// 控制器获取方式
$include = $this->extractInclude($request);

# 页码参数

常见于获取列表数据,根据需要在 GET 参数中传入 page

参数 释义
page[number] 页码(优先级大于 page[offset])
page[offset] 数据偏移量
page[limit] 获取条数(优先级大于 page[size])
page[size] 获取条数
// 可在自己的控制器中重写下面两属性修改默认值

// 基类默认最大获取数量
public $maxLimit = 50;

// 基类默认获取数量
public $limit = 20;

// 控制器获取方式
$limit = $this->extractLimit($request);
$offset = $this->extractOffset($request);

# 排序参数

常见于获取列表数据,根据需要在 GET 参数中传入 sort

# 排序字段,多个字段用英文逗号分隔,倒序的字段前使用减号
/api/xxx?sort=id,-count,time
无php
// 可在自己的控制器中重写下面两属性修改默认值

// 定义可被用于排序的字段
public $sortFields = [];

// 定义默认排序字段
public $sort = [
    'updatedAt' => 'desc'
];

// 控制器获取方式
$sort = $this->extractSort($request);

# 返回页码链接

常见于获取列表时返回的数据

参数 释义
links 链接
links.first 第一页链接
links.prev 上一页链接
links.next 下一页链接
links.last 最后一页链接

# 数据通用字段

所有数据模型都以这种格式返回

参数 释义
**data** 基础数据
data.type 数据类型
data.id 数据 ID
data.attributes 数据属性
data.relationships 数据关联关系
**included** 关联数据
included.type 关联数据类型
included.id 关联数据 ID
included.attributes 关联数据属性
**meta** 非基础数据,其它自定义数据