如何从与 Javascript Traverson HAL 的链接获取 JSON 对象

时间:2021-07-07 22:03:55

标签: javascript json rest spring-data hateoas

我有以下 JSON 对象:

{

  "_embedded" : {

    "carPriceStreams" : [ {

      "carClassCurrency" : {

        "carClass" : {

          "carClass" : {

            "code" : "A542",

          },

          "_links" : {

            "car" : {

              "href" : "http://localhost:9001/api/car/2"

            }

          }

        },

        "creationDate" : "2015-07-01"

      },

      "_links" : {

        "self" : {

          "href" : "http://localhost:9001/api/carPriceStreams/1"

        },

        "carPriceStream" : {

          "href" : "http://localhost:9001/api/carPriceStreams/1"

        },

        "carPrices" : {

          "href" : "http://localhost:9001/api/carPriceStreams/1/carPrices"

        }

      }

    },...

我使用 Traverson JavaScript librarythe HAL adapter for Traverson 来获取对象:

traverson.registerMediaType(TraversonJsonHalAdapter.mediaType, 
                     TraversonJsonHalAdapter);
var api = traverson
            .from(url + "/api")
            .jsonHal();
api
  .newRequest()
  .follow('carPriceStreams')
  .getResource(//...

对于每个 carPriceStream,我想点击其汽车的链接并检索该汽车资源。我该怎么做?

我已经试过了

api
  .newRequest()
  .follow('carPriceStreams', 'car')
  .getResource(//...

但我得到一个 HalLinkError

1 个答案:

答案 0 :(得分:0)

我不是 traverson 用户,但您的 car 对象不是 carPriceStreams 的直接子代。

你能试试这个吗?

  .follow('carPriceStreams', 'carClassCurrency', 'carClass', 'car')
相关问题