【问题标题】:How can I hook Loopback rest connector executions?如何挂钩 Loopback 休息连接器执行?
【发布时间】:2017-02-11 06:44:40
【问题描述】:

如何拦截 REST-connector 执行以格式化来自 REST API 连接器的响应?

我在 datasources.json 文件中添加了“新闻”:

{
  "file": {
    "name": "file",
    "localStorage": "",
    "file": "memory.db.json",
    "connector": "memory"
  },
  "news": {
    "name": "news",
    "crud": false,
    "debug": true,
    "connector": "rest",
    "options": {
      "strictSSL": false
    }
  }
}

我在 mode-config.json 文件中将此连接器与我的模型绑定

{
  "_meta": {
     ...
  },
  "publication": {
    "dataSource": "news",
    "public": true
  }
}

这行得通。现在,如何格式化新闻 Rest API 提供的响应?

不知道loopback documentation提供的解决方案在哪里编码

谢谢。

【问题讨论】:

    标签: rest strongloop connector loopback


    【解决方案1】:

    我在引导存储库中创建了一个新的boot file

    在这个启动脚本中,我可以访问数据源组件和News(我不知道为什么,但它以大写字母开头)连接器以添加我的钩子脚本。

    module.exports = function(app) {
      app.dataSources.News.connector.observe('after execute', function (ctx, next) {
    
        var newRespone = ctx.res.body // Add your changes here.
    
        ctx.end(err, ctx, response);
      });
    };
    

    我可以解析 REST API 响应并对其进行格式化。 \o/

    【讨论】:

    • 同样我想从 ctx.req 获得一些信息(基本上来自传入请求的标头)并希望将这些标头发送到下游服务(数据源),我该如何实现?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-03
    • 1970-01-01
    • 1970-01-01
    • 2020-12-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多