JavaScript   发布时间:2022-04-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何在遵循REST的同时在HAL(JSON版本)中表示集合大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我有一系列书籍,我们称之为图书馆. GET domain.com/library应该以符合HAL标准的 JSON返回库中的书籍列表.我该如何格式化JSON?我怎么能嵌入书籍资源?这是我目前正在虑的格式:
{
  "books": [
      {
          "name": "Fight Club","_links": {
              "self": { 
                  "href": "domain.com/library/Fight-Club"
              },},...
      },....
  ],"_links" : {
       "search": { 
           "href": "domain.com/library/search"
       },...
   },"_embedded" : {
       "Fight Club": {
           "author": "Chuck Palahniuk",...
           [Same links as above]
       }
   }
}

解决方法

在编写HAL规范时,_embedded对象用于给定资源的子资源.所以你的骨架HAL JSON看起来像这样.
{
    "_links": {
        "self": {
            "href": "/library"
        }
    },"_embedded": {
        "item": [{
            "_links": {
                "self": {
                    "href": "/library/Fight-Club"
                }
            },"author": "Chuck Palahniuk","title":  "Fight Club"
        }]
    }
}

_embedded对象的直接属性是link relations.项关系是标准关系,表示资源是属于上下文资源的项(在本例中是您的库).您可以使用CURIEs创建自定义链接关系.

请注意顶级对象中缺少books数组.如果您愿意,可以包括它,但这只是一种便利. HAL库只会知道你放在_links和_embedded中的内容.有关HAL中的集合以及决定数据放置位置的人为因素,请参阅此discussion.

大佬总结

以上是大佬教程为你收集整理的如何在遵循REST的同时在HAL(JSON版本)中表示集合全部内容,希望文章能够帮你解决如何在遵循REST的同时在HAL(JSON版本)中表示集合所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。