标签服务

 

  1. 本服务是一个微服务demo实例,可为各类资源打上标签,从不同维度对资源进行分类、搜索和聚合,以便轻松管理资源。
  2. 标签API 1.0版
  3. 本服务提供的API接口,遵循REST体系结构
  4. 服务地址:tag.frmstock.org.cn
  5. 通信协议:https
  6. 请求方法:POST(推荐)、GET
  7. 字符编码:UTF-8
  8. 1、开通指南
  9. 登录网站(www.frmstock.org.cn),进入标签服务页面,进行开通。
  10. 开通后可获取两个值AppId和AccessKey,此为登录凭证,必须妥善保管,避免泄露。
  11. AppId :用于标识 API 调用者身份,可以简单类比为用户名。
  12. AccessKey :用于验证 API 调用者的身份,可以简单类比为密码。
  13. 2、签名算法
  14. 1).拼接待签名字符串,伪代码如下:
  15. stringToSign = AccessKey:timestamp:url
  16. AccessKey :用于验证 API 调用者的身份,可以简单类比为密码。
  17. timestamp :当前时间戳。
  18. url :请求地址。
  19. 2).计算签名,伪代码如下:
  20. authorization = md5sum(stringToSign)
  21. 3).最终完整的调用信息如下:
  22. GET /index.php/api/v1.token/beatheart HTTP/1.1
  23. User-Agent: curl/7.29.0
  24. Host: 127.0.0.1:8080
  25. Accept: */*
  26. authorization: fec4868ca0d503ac9ee7ce1440136076
  27. timestamp: 1683250719
  28. Cookie: PHPSESSID=885f1933601e0334846c2d5b29235d3a;
  29. 3、登录心跳
  30. 1).登录,获取会话session,API的调用都是基于会话的
  31. URL地址 :/api/v1.auth/login
  32. 请求方法:POST
  33. 密码计算方法:
  34. password = md5sum(AccessKey:timestamp)
  35. AccessKey :用于验证 API 调用者的身份,可以简单类比为密码。
  36. timestamp :当前时间戳。
  37. 最终完整的调用信息如下:
  38. POST /index.php/api/v1.auth/login HTTP/1.1
  39. User-Agent: curl/7.29.0
  40. Host: 127.0.0.1:8080
  41. Accept: */*
  42. timestamp: 1683250654
  43. Content-Length: 84
  44. 示例
  45. 2).登录保活30分钟,超时自动退出,若无交互需发心跳包
  46. URL地址 :/api/v1.token/beatheart
  47. 请求方法:GET
  48. 最终完整的调用信息如下:
  49. GET /index.php/api/v1.token/beatheart HTTP/1.1
  50. User-Agent: curl/7.29.0
  51. Host: 127.0.0.1:8080
  52. Accept: */*
  53. authorization: fec4868ca0d503ac9ee7ce1440136076
  54. timestamp: 1683250654
  55. Cookie: PHPSESSID=885f1933601e0334846c2d5b29235d3a;
  56. 示例
  57. 4、接口说明
  58. 标签管理接口6个:
  59. /api/v1.tag_mgr/getList : 获取标签列表 示例
  60. /api/v1.tag_mgr/getTag : 获取某标签关联的所有资源 示例
  61. /api/v1.tag_mgr/getTags : 获取多个标签关联的所有资源 示例
  62. /api/v1.tag_mgr/add : 添加标签 示例
  63. /api/v1.tag_mgr/del : 删除一个标签 示例
  64. /api/v1.tag_mgr/dels : 删除多个标签 示例
  65. 资源过滤信息接口1个:
  66. /api/v1.asset_mgr/updateField : 更新资源过滤字段属性值 示例
  67. 关联信息接口4个
  68. /api/v1.tag_asset_mgr/getListByAsset : 获取某一资源所关联的所有标签 示例
  69. /api/v1.tag_asset_mgr/getListByAssets : 获取某些资源所关联的所有标签 示例
  70. /api/v1.tag_asset_mgr/addRelation : 为某一资源添加一个标签 示例
  71. /api/v1.tag_asset_mgr/delRelation : 删除某一资源的某一标签 示例