2016-01-25 51 views
0

enter image description here如何指定Strongloop模型模式?

我试图重写找到 API strongloop其余的端点。我想返回一个对象数组。但是,如何为对象指定模式?从上图可以看出,模型模式是空的。

下面是我的公司模式remoteMethod的代码:

Company.remoteMethod(
     'find', 
     { 
      accepts: {arg: 'msg', type: 'string'}, 
      returns: {type: 'array', root: true}, 
      http: {path: '/', verb:'get'} 
     } 
    ) 
+0

你创建一个'company'模式?如果是这样,那么配置是什么?该配置定义了您的模式...查看[关于如何创建模型的文档](https://docs.strongloop.com/display/public/LB/Defining+models)。 – jakerella

+0

@jakerella:是的,我创建了一个公司模型。但我想用远程方法覆盖api/companies {GET},并且已经可以实现了。我的问题是,在api资源管理器中,模型模式是[{}],它没有显示对象的属性。 –

+0

啊,我明白了......我不知道该怎么做。 – jakerella

回答

3

如果我理解你的权利,傻冒试图在本节展现返回型号如下:

[ 
    { 
    "companyProperty1": "companyProperty1Type", 
    "companyProperty2": "companyProperty2Type", 
    . 
    . 
    "companyPropertyN": "companyPropertyNType", 
    } 
] 

在为了实现这种返回类型表示,您需要将remoteMethod选项中的返回类型定义为所需模型的数组。

这里是你的代码,有需要的编辑,使用modelName propery of Model base class

Company.remoteMethod(
    'find', 
    { 
     accepts: {arg: 'msg', type: 'string'}, 
     returns: {type: [Company.modelName], root: true}, 
     http: {path: '/', verb:'get'} 
    } 
) 
+0

Company.modelName引用了什么?你能给个例子吗? Thx –

+0

编辑答案,补充参考。 Model.modelName返回调用者模型的模型名称。在你的情况下很简单,你可以写'公司', 但是当使用mixins时,它必须更一般。 –

+0

非常感谢。现在它可以显示模式。另一个问题是,我如何定制这个模式?我的意思是如果我的原始模型包含{propsA.propsB},但是我只需要propsA。我如何能够实现它? –