标识注册解析服务接口(CNRI)
Table of Contents
1 前提约定
1.1 实体类型
所有请求实体和响应实体都是JSON类型。
1.2 状态码
状态码 | 含义 |
---|---|
1 | 成功 |
2 | 未知错误 |
3 | 没有找到 |
4 | 输入格式错误 |
402 | 没有授权 |
2 标识注册接口
2.1 接口描述
从服务端申请一个标识
2.2 请求地址
PUT /[handle]
如果请求地址中指定了handle,则使用该handle。如果没有指定,则随机生成handle。
2.3 认证信息
需要在请求头中设置Authorization字段,内容为申请到的APIKEY。
2.4 请求参数
{ "values": [ HandleValue, HandleValue, ... ] }
其中的HandleValue为key-value类型,但是必须包含如下字段:
参数名 | 参数类型 | 是否必须 | 参数描述 |
---|---|---|---|
index | integer | 是 | 标识内容的索引 |
type | string | 是 | 标识内容的类型 |
data | object | 是 | 标识内容的数据 |
2.5 响应参数
参数名 | 参数类型 | 参数描述 |
---|---|---|
responseCode | string | 返回的状态码 |
handle | string | 申请到的标识 |
message | string | 成功或者失败消息 |
2.6 请求示例
PUT http://127.0.0.1:8000/20.500.12750/1qOHm6sLK0boQlRQZJ60EQ==
2.6.1 请求头
key | value |
---|---|
Authorization | xxxxxxxxxxxxxxx |
Content-Type | application/json |
2.6.2 请求实体
{ "values": [ { "index": 200, "type": "Text", "data": { "format": "string", "value": "good" } }, { "index": 201, "type": "Text", "data": { "format": "string", "value": "john" } } ] }
2.6.3 成功响应内容
{ "responseCode": 1, "handle": "20.500.12750/1qOHm6sLK0boQlRQZJ60EQ==" }
2.6.4 失败响应内容
{ "responseCode": 4, "message": "invalid input" }
3 标识解析接口
3.1 接口描述
从服务端解析指定的标识
3.2 请求地址
GET /{handle}
3.3 请求参数
无
3.4 响应参数
3.4.1 成功返回
参数名 | 参数类型 | 参数描述 |
---|---|---|
responseCode | integer | 返回的状态码 |
handle | string | 请求中的标识 |
values | object | 标识对应的解析结果 |
3.5 请求示例
GET http://127.0.0.1:8000/20.500.12750/1qOHm6sLK0boQlRQZJ60EQ==
3.5.1 成功响应内容
{ "responseCode": 1, "handle": "20.500.12750/1qOHm6sLK0boQlRQZJ60EQ==", "values": [ { "index": 200, "type": "Text", "data": { "format": "string", "value": "good" }, "ttl": 86400, "timestamp": "2021-03-29T02:30:43Z" }, { "index": 201, "type": "Text", "data": { "format": "string", "value": "john" }, "ttl": 86400, "timestamp": "2021-03-29T02:30:43Z" } ] }
3.5.2 失败响应内容
{ "responseCode": 3, "message": "not found" }