分页
公开 API 只有一个 list 端点 GET /v1/markets,它使用基于 offset 的分页。不是游标或页码模型。
#查询参数
| 名称 | 类型 | 说明 | 默认值 |
|---|---|---|---|
| limit | number | 单次获取的条目数(1..100)。 | 20 |
| offset | number | 跳过的条目数。 | 0 |
超出 1..100 范围的 limit 会被 400 拒绝。
#响应 envelope
{
"markets": [ /* ... */ ],
"total": 347,
"limit": 20,
"offset": 0
}| 字段 | 说明 |
|---|---|
markets | 实际数据数组 |
total | 应用过滤后的全部条目数 |
limit | 请求中收到的(或所应用的默认值) |
offset | 请求中收到的(或 0) |
#下一页
没有单独的 next URL。由客户端自行计算。
const nextOffset = currentOffset + limit;
if (nextOffset >= total) {
// 结束
}#无限滚动模式
function buildUrl(offset: number, limit: number) {
const url = new URL('https://api.conviction.bet/v1/markets');
url.searchParams.set('status', 'ACTIVE');
url.searchParams.set('limit', limit.toString());
url.searchParams.set('offset', offset.toString());
return url.toString();
}
let offset = 0;
const limit = 20;
const all = [];
while (true) {
const res = await fetch(buildUrl(offset, limit)).then((r) => r.json());
all.push(...res.markets);
if (offset + limit >= res.total) break;
offset += limit;
}#排序
GET /v1/markets 会一并接收 sortBy 与 sortOrder。可用的值请参考端点规范。
#下一步
- REST → Markets —— list 端点
本页面是否有帮助?