标识注册解析服务接口(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"
}