json - 如何使用 JSON HAL
问题描述
我正在为我的学士论文开发一个 REST api,现在我想定义资源。REST api 正在接收来自 OPC UA 客户端的数据。我想介绍的是获取节点,获取节点的单个属性和引用(对其他节点)。我还希望能够更新节点的单个属性,浏览引用并订阅节点的属性。
我现在的资源是:
/:nodeid (GET)
/:nodeid/attributes (GET)
/:nodeid/attributes/:attribute (GET, PUT, POST to start a subscription via websocket)
/:nodeid/references (GET)
当谈到 JSON HAL 时,我有点困惑。我应该对 :nodeid 下的子资源使用 _embedded 还是 _links ?
我什至应该使用“属性”和“参考”之类的列表资源吗?真正让我抓狂的是过度和不足。在当前的实现中,如果我使用列表,我的 :nodeid 的结果不会被过度提取,但是当涉及到特定属性时,我会进行提取不足,因为我必须发出另一个请求来获取属性列表。 ..如果我在 _links 中包含所有属性,我可能已经有了一个列表。
但是通过 _links 包含所有属性和引用将是过度获取,特别是如果一个节点可以有数千个引用和很多属性。
解决方案
推荐阅读
- php - var_dump 将显示什么值 echo 不会显示?(只回答一个字)
- html - Divs 在调整大小时与底部和中心对齐
- r - 如何计算 R 中拟合 T 分布的矩(均值、方差、偏度、峰度)?
- timeout - SeaweedFS 超时异常
- vue.js - 速度未定义:VUEJS
- c++ - 尝试将不同类型的数据转换为 C++ 中的字符串
- r - 如何构建不在 RStudio 顶级目录中的 bookdown 书?
- reactjs - npm 错误!缺少脚本:开始(react.js)
- sql - 当日期超过可以更改的数字时从数据库中删除
- assembly - 我该如何解决这个错误?错误 #10056:重新定义符号“_c_int00”(EK-TM4C123GXL)