2016-01-25 36 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。我如何能夠實現它? –