2016-10-10 41 views
0

到目前爲止,我們已成功使用Loopback,但我們希望將查詢參數添加到我們的API文檔中。在Loopback中爲基本CRUD操作定義查詢參數

在我們swagger.json文件中,我們可能有一些看起來像=>

{ 
     "swagger": "2.0", 
     "info": { 
     "version": "1.0.0", 
     "title": "poc-discovery" 
     }, 
     "basePath": "/api", 
     "paths": { 
     "/Users/{id}/accessTokens/{fk}": { 
      "get": { 
      "tags": [ 
       "User" 
      ], 
      "summary": "Find a related item by id for accessTokens.", 
      "operationId": "User.prototype.__findById__accessTokens", 
      "parameters": [ 
       { 
       "name": "fk", 
       "in": "path", 
       "description": "Foreign key for accessTokens", 
       "required": true, 
       "type": "string", 
       "format": "JSON" 
       }, 
       { 
       "name": "id", 
       "in": "path", 
       "description": "User id", 
       "required": true, 
       "type": "string", 
       "format": "JSON" 
       }, 
       { 
        "name":"searchText", 
        "in":"query", 
        "description":"The Product that needs to be fetched", 
        "required":true, 
        "type":"string" 
       }, 
       { 
        "name":"ctrCode", 
        "in":"query", 
        "description":"The Product locale needs to be fetched. Example=en-GB, fr-FR, etc.", 
        "required":true, 
        "type":"string" 
       }, 
      ], 

我敢肯定99%得到通過從/server/models目錄中的文件上傳.json信息動態生成swagger.json信息。

我希望我可以在這些.json文件中添加我們接受的每個模型的查詢參數。我想避免的是直接修改swagger.json。

什麼是最好的方法來添加我們的查詢參數,以便它們出現在我們的文檔?對於如何最好地解決這個問題非常困惑。

回答

1

擺弄了幾個小時後,恐怕沒有實現這一這裏產生的swagger規格爲model.json文件與模型數據以及遠程處理的模型方法的元數據表示一個直接的方式。
因此,更新內置模型方法的遠程處理元數據將是具有挑戰性的,它可能不會完全被方法實現支持。

正確的方法,國際海事組織,這裏是:
- 創造您想要額外PARAMS與requried http映射數據被注入了remoteMethod包裝器內置的方法。 - 然後,使用 MyModel.disableRemoteMethod(<methodName>, <isStatic>)禁用內置方法的REST終點。

+0

有*不*一個簡單的方法...? –

+0

謝謝您的回答! –

+1

還有一件事:如果最終編寫remoteMethod,則需要在遠程方法實現中處理額外的參數,並按照預期的模型方法傳遞正確的參數,以獲得預期的結果。 – gunjpan