使用环回在url中使用get参数的远程方法

时间:2017-04-19 20:12:09

标签: node.js loopbackjs

我正在尝试使用loopback 2.0向我的api添加一个get remote方法,以实现与默认方法相同的方法结构,例如:

/myObject/{id}

我尝试的方式是:

  MyObject.remoteMethod(
    'remotemethod', {
      http: {
        path: '/',
        verb: 'get'
      },
      accepts: [
        {arg: 'id', type: 'string'},
      ],
      returns: {
        arg: 'status',
        type: 'string'
      }
    }
  )

但它只允许我这样做:

http://localhost:3000/api/myObject?id=1

有谁知道我怎么能做到这一点?

是否有人也知道如何在此路线中添加说明以在资源管理器中显示?文档并没有真正说明这一点..我认为他们的文档不完整,我是唯一一个有这种感觉的人吗?

2 个答案:

答案 0 :(得分:7)

回答环回3.0(但我认为它与2.0类似)

MyObject.remoteMethod(
    'remotemethod', {
      description: 'This will insert the description',
      http: {
        path: '/:id',
        verb: 'get'
      },
      accepts: [
        {arg: 'id', type: 'number', required: true},
      ],
      returns: {
        arg: 'status',
        type: 'string'
      }
    }
  )

诀窍是在id参数中添加一个必需属性,并在路径中包含param。

另请参阅有关如何添加说明的示例

我必须同意这些文档还不完整..

答案 1 :(得分:0)

您可以单独注释所需的每个参数。

例如

MyObject.remoteMethod(
    'remotemethod', {
      http: {
        path: '/',
        verb: 'get'
      },
      accepts: [
        {arg: 'id', type: 'string', http: {source: query}},
        {arg: 'arg2', type: 'anything', http: {source: query}}
        ......
      ],
      returns: {
        arg: 'status',
        type: 'string'
      }
    }
  )