2016-11-28 7 views
0

GoodDay、ソリューションを非常にデータ中心にするAzureのMsSqlに対するノードでの実験を開始しました。MS-SQLとNODEアーキテクチャでのJSON応答のベストプラクティス

このアーキテクチャの不足のためのベストプラクティスは何ですか?
...これまでのところ、我々はhttps://www.npmjs.com/package/mssqlで実験している

(DBへのすべての通信は、トラフストア明らかに手続きを行うことにする)と、彼らは準備になるまで、その出力パラメータは、時にはしばらく続く見つけ

    個別の入力パラメータ(簡単にSQLに治療するために)
  • データとして
  • SP呼び出しパラメータがrecordseとして、単一の(時には合成)JSONなどのアプリケーションをノードに:私たちはに考えていますt
  • SP実行コードトラフRETURN(202 ok、w3c Webコードとして残りのコード)
  • エラーの場合は、出力パラメータを返します。

兆候はありますか?

レコードセットのような単一のJSONオブジェクトを返すように計画している場合、私は、...

答えて

0

をもう一方からこのbinomia(ノード+ MsSQLが)、片側から強さ、柔軟性とスピードを非常に興味深い見つけ、あなたがしていますFOR JSON句で選択クエリを実行するだけですか? MSSQL supports JSON outputsでも、この機能がなくてもpipeメソッドを使用して出力ストリームに結果をストリームすることができます(私は試していません)。 https://github.com/Microsoft/sql-server-samples/blob/master/samples/features/json/todo-app/nodejs-express4-rest-api/routes/todo.jsそして、JSON出力からHttp出力まで生成されたストリーム結果だけを、Httpレスポンス出力に退屈なだけのJSON出力を使用するサンプルアプリケーションです: https://github.com/Microsoft/sql-server-samples/blob/master/samples/features/json/todo-app/nodejs-express4-rest-api/routes/todo.js MSSQLは使用しませんが、MSSQLを使用するように簡単に書き換えることができます。

FOR JSONは、Azure SQLデータベースが大きなJSONレスポンスを2KBのチャンクに吐き出すので、チャンクデータをクライアントに返す場合に便利ですが、MSSQLを使用するとレスポンス全体を1つの大きなオブジェクトとして解析できます。

エラー処理に関しては、出力パラメータとしてストアドプロシージャからHTTPエラーコードを直接返すのは珍しいかもしれません。おそらく、標準のthrow/raiserrorステートメントを使用し、エラーコードをHttpエラーコードにマップすることができます。 4xxと5xxの範囲には約80の便利なHttpエラーコードがありますので、エラー状態(tinyint)でも十分です。

関連する問題