loopback - 可以使用POST来检索资源

时间:2015-04-06 15:52:34

标签: loopbackjs strongloop

尝试使用loopback框架来模拟后端服务。我需要使用POST方法检索对象。我知道REST服务通常允许POST更新/创建资源,但在这里,我不能将GET与资源详细信息一起用于检索数据。

在我的例子中,POST数据包含一些查询字段,这些字段必须用于查询对象并发回json。这是环回的可能吗?由于在GET网址中将数据作为查询参数发送的安全限制,我无法将GET用于查询参数。

这里是发布请求数据

[ { customer:"sam", city:"noWhere", } ]

POST事件应按客户和城市查询,然后返回匹配的客户对象

[ { customer:"sam", postcode:"352345", city:"noWhere", country:"US" } ]

2 个答案:

答案 0 :(得分:0)

我认为你需要的是一个快速的http方法覆盖中间件:https://github.com/expressjs/method-override

在loopback中定义中间件: http://docs.strongloop.com/display/LB/Defining+middleware

答案 1 :(得分:0)

您可以覆盖默认的环回端点,例如

// Define custom remote method
Customer.fetch = function(oRequest, fnResponseCb) {
  /* Do staff to find customer and finally call fnResponseCb(null, oCustomer) */
}

// Override custom remote method
Customer.remoteMethod('fetch', {
  accepts: {
    arg: 'oRequest',
    type: 'object',
    http: { source: 'body' }
  },
  returns: {
    type: 'object',
    root: true
  },
  http: {
    path: '/',
    verb: 'POST'
  },
  description : 'Fetch Customer'
});