标签服务
本服务是一个微服务demo实例,可为各类资源打上标签,从不同维度对资源进行分类、搜索和聚合,以便轻松管理资源。
标签API 1.0版
本服务提供的API接口,遵循REST体系结构
服务地址:tag.frmstock.org.cn
通信协议:https
请求方法:POST(推荐)、GET
字符编码:UTF-8
1、开通指南
登录网站(www.frmstock.org.cn),进入标签服务页面,进行开通。
开通后可获取两个值AppId和AccessKey,此为登录凭证,必须妥善保管,避免泄露。
AppId :用于标识 API 调用者身份,可以简单类比为用户名。
AccessKey :用于验证 API 调用者的身份,可以简单类比为密码。
2、签名算法
1).拼接待签名字符串,伪代码如下:
stringToSign = AccessKey:timestamp:url
AccessKey :用于验证 API 调用者的身份,可以简单类比为密码。
timestamp :当前时间戳。
url :请求地址。
2).计算签名,伪代码如下:
authorization = md5sum(stringToSign)
3).最终完整的调用信息如下:
GET /index.php/api/v1.token/beatheart HTTP/1.1
User-Agent: curl/7.29.0
Host: 127.0.0.1:8080
Accept: */*
authorization: fec4868ca0d503ac9ee7ce1440136076
timestamp: 1683250719
Cookie: PHPSESSID=885f1933601e0334846c2d5b29235d3a;
3、登录心跳
1).登录,获取会话session,API的调用都是基于会话的
URL地址 :/api/v1.auth/login
请求方法:POST
密码计算方法:
password = md5sum(AccessKey:timestamp)
AccessKey :用于验证 API 调用者的身份,可以简单类比为密码。
timestamp :当前时间戳。
最终完整的调用信息如下:
POST /index.php/api/v1.auth/login HTTP/1.1
User-Agent: curl/7.29.0
Host: 127.0.0.1:8080
Accept: */*
timestamp: 1683250654
Content-Length: 84
示例
2).登录保活30分钟,超时自动退出,若无交互需发心跳包
URL地址 :/api/v1.token/beatheart
请求方法:GET
最终完整的调用信息如下:
GET /index.php/api/v1.token/beatheart HTTP/1.1
User-Agent: curl/7.29.0
Host: 127.0.0.1:8080
Accept: */*
authorization: fec4868ca0d503ac9ee7ce1440136076
timestamp: 1683250654
Cookie: PHPSESSID=885f1933601e0334846c2d5b29235d3a;
示例
4、接口说明
标签管理接口6个:
/api/v1.tag_mgr/getList : 获取标签列表 示例
/api/v1.tag_mgr/getTag : 获取某标签关联的所有资源 示例
/api/v1.tag_mgr/getTags : 获取多个标签关联的所有资源 示例
/api/v1.tag_mgr/add : 添加标签 示例
/api/v1.tag_mgr/del : 删除一个标签 示例
/api/v1.tag_mgr/dels : 删除多个标签 示例
资源过滤信息接口1个:
/api/v1.asset_mgr/updateField : 更新资源过滤字段属性值 示例
关联信息接口4个
/api/v1.tag_asset_mgr/getListByAsset : 获取某一资源所关联的所有标签 示例
/api/v1.tag_asset_mgr/getListByAssets : 获取某些资源所关联的所有标签 示例
/api/v1.tag_asset_mgr/addRelation : 为某一资源添加一个标签 示例
/api/v1.tag_asset_mgr/delRelation : 删除某一资源的某一标签 示例