簡體   English   中英

從Loopback獲取自定義JSON響應

[英]Get a custom JSON response from Loopback

我使用Loopback制作了一個簡單的API,它可以正常工作並從此URL提供以下結果。 HTTP://本地主機:3000 / API /咖啡店

[
  {
    "name": "Coffee shop 1",
    "city": "City one",
    "id": 1
  }
]

我需要通過使用回送中間件將此JSON更改為此模板。

{
  "_embedded": {
    "CoffeeShops": [
      {
        "name": "Coffee shop 1",
        "city": "City one",
        "_links": {
          "self": {
            "href": "http://localhost:3000/CoffeeShops/1"
          },
          "CoffeeShop": {
            "href": "http://localhost:3000/CoffeeShops/1"
          }
        }
      }
   ]
   }
}

比中間件更好的是,您可以使用遠程掛鈎

在將其發送到遠程客戶端之前 ,使用afterRemote掛鈎 修改 ,記錄或以其他方式使用遠程方法的結果 因為afterRemote掛鈎是在執行遠程方法之后運行的,所以它可以訪問遠程方法的結果,但不能修改輸入參數。

coffee-shop.js的以下代碼可以解決問題

CoffeeShop.afterRemote('find', function(ctx, output, next) {
  ctx.result = {
    _embedded: {
      CoffeeShops: [{
        name: output.name,
        city: output.city,
        _links: {
          self: {
            href: "http://localhost:3000/CoffeeShops/" + id
          },
          CoffeeShop: {
            href: "http://localhost:3000/CoffeeShops/" + id
          }
        }
      }]
    }
  };
  next();
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM