[英]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.