查询接口

QRY接口标准

GET:http://api.xdua.com/resource?

在地球号设计里QRY接口是个特别的接口,其接口是固定的,针对任何资源都是一样的。

字段名 位置 类型 说明 描述 可选
apiv head string API版本,默认是1.0.0 1.0.0 可选
Authorization head string 客户端保存的鉴权token Authorization字符串 必选
action query string 接口动作 16个字符以内 可选
where query String 查询条件 查询条件 这是一个json字符串做了urlencode后的结果
filter query String 过滤类别 查询条件 这是一个json字符串做了urlencode后的结果
offset query int 搜索开始的偏移条件 获取授权的开始个数,若不设置默认为0 可选
limit query int 搜索数量 获取授权的数量,若不设置默认为20 可选
page query int 搜索页号 如果page存在的话,就可以忽略offset的效果,和limit一起使用。使用page搜索 可选
order query String 顺序 必须按照"字段:ASC/DESC"方式书写,如 name:DESC,默认的order是inc:DESC 可选

为什么where不用base64, Base64 可以将二进制转码成可见字符方便进行http传输,但是base64转码时会生成“+”,“/”,“=”这些被URL进行转码的特殊字符,导致两方面数据不一致。 客户端向服务器传递参数时,参数中的“+”全部变成了空格,原因是URL中默认的将“+”号转义了。所以要用urlencode

接口反馈格式

地球号接口设计严格按照API网关要求,分为Path参数,Query参数,Body参数. 请求头里的Authorization字段放置token或签名.

地球号接口返回数据格式


//status=0时,表示成功,reason是Success或success. result字段是以字典放置key和value的方式放置结果数据. debug字段字典以key:value方式放置调试信息,这些信息用于api开发者自己查看,不应该暴露给普通用户.
{ 
    error:0,
    reason: 'Success',
    result:{ key1:value1,key2:value2,key3:value3 },
    debug: { key1:value1,key2:value2}, 
}

//qry请求的result是{"list":[],"maxpage":12}这种结构,其中list是查询出来的列表,maxpage是当前查询套件对应的最大页数.

//status=1时,表示失败,reason是字符串格式失败原因. result以字典方式放置一些各接口可能用到的结果数据. debug字段字典以key:value方式放置调试信息,这些信息用于api开发者自己查看,不应该暴露给普通用户.
{ 
    error:0,
    reason: 'AppNotExisted',
    result:{ key1:value1,key2:value2,key3:value3 },
    debug: { key1:value1,key2:value2}, 
}

在设计原则上, result和debug必须是字典,不应该是数组.

FAQ

早期接口是用户自己定义action,为什么后来改到后台设置。

[!note] 为什么action是个系统官方必须字段,却用的是小写?因为action是暴露给前端调用者的。

results matching ""

    No results matching ""