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

Author: mxj

Created: 2021-03-29 周一 11:30

Validate