2016-10-04 5 views
0

ここで概要を説明する自動ディスカバリ機能のみを使用する場合は、Loopback APIサーバのSwagger APIドキュメントを自動生成できるかどうか疑問です。自動ディスカバリを使用してDBテーブルを検出する場合、スワッガードキュメントを自動生成する

https://docs.strongloop.com/display/public/LB/Discovering+models+from+relational+databases

誰でも知ることができますか?自動検出を使用すると、私たちのモデル用の.jsonファイルがサーバープロジェクトに書き込まれることが疑わしくなり、そのためにドキュメントが生成されにくくなります。

答えて

1

そうすることができます。そうするには、モデル-x.jsonファイルをスクリプトを使用してすべてのモデルに対して書き出し、スクリプトの終了後にサーバーを起動します。

https://docs.strongloop.com/display/public/LB/Database+discovery+API

これは、自動検出のための標準的な慣行である、ここではこれを実現私のコードは次のとおりです。

const loopback = require('loopback'); 
const fs = require('fs'); 
const path = require('path'); 
const async = require('async'); 

var ds = loopback.createDataSource('postgresql', { 
    'host': 'localhost', 
    'port': 5432, 
    'database': 'foo', 
    'username': 'bar', 
    'password': 'baz' 
}); 


ds.discoverModelDefinitions(function (err, models) { 

    async.each(models, function (def, cb) { 

    ds.discoverSchema(def.name, null, function (err, schema) { 
     if (err) { 
     console.error(err.stack || err); 
     cb(err); 
     } 
     else { 
     fs.writeFile(path.resolve(__dirname, 'server/models', def.name + '.json'), 
      JSON.stringify(schema), {}, cb); 
     } 
    }); 

    }, function (err) { 
    if (err) { 
     console.log(err.stack || err); 
     process.exit(1); 
    } 
    else { 
     console.log(' => Successfully wrote model data.'); 
     process.exit(0); 
    } 

    }); 
}); 
+0

あなたはそれはそれを行う方法ですが、答え –

+0

確実なこととして、この質問をマークしてくださいすることができ –

関連する問題