MSSQLデータベースからデータを取得するために、アプリケーションのバックエンドにNode expressを使用しています。私はEmberで作られた別のアプリケーションでこのサーバーにアプローチしたいと思います。 Ember DSはMSSQLによって返されたフォーマットをどのように扱うべきか分かりません。 MSSQLによって返さNode Express mssqlはシリアライザとオブジェクトの名前なしでjson形式を返します
フォーマットの形式は次のとおりです。
[{
"var1": "abc",
"var2": "def",
"var3": 3
{
...
}]
そして、正しく理解している場合、の形で次のようになります。したがって
{
'modelName': [{
"_id": 1
"var1": "abc",
"var2": "def",
"var3": 3
},
{
...
}]
}
、それはレコードの名前の両方をミス(modelName)とID /シリアル番号が含まれています。 Emberアプリケーションのシリアライザではなく、Expressサーバー内でこれを修正したいと考えています。 Emberが理解できるようにExpress内のMSSQLのJSON出力を変更する方法が見つかりません。
APIエンドポイントは、次のようになります。
var express = require('express');
var app = express();
app.use(function(req, res, next) {
res.setHeader('Access-Control-Allow-Origin', 'http://localhost:4200');
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
res.header('Access-Control-Allow-Methods', 'POST, GET, PUT, DELETE, OPTIONS');
next();
});
app.get('/api/data', function (req, res) {
var sql = require("mssql");
// config for your database
var config = {
user: 'user',
password: 'pass',
server: 'mssql-server',
database: 'db'
};
// connect to your database
sql.connect(config, function (err) {
if (err) console.log(err);
// create Request object
var request = new sql.Request();
// query to the database and get the records
request.query('SELECT * [dbo].[table]',
function (err, recordset) {
if (err) console.log(err)
// send records as a response
res.send(recordset);
});
});
});
var server = app.listen(8080, function() {
console.log('Server is running on localhost:8080...');
});
ヘルプは非常にいただければ幸いです!
私が使用している(とに固執する必要があること)MSSQL 14
ところで、私は同じ問題を扱うこの記事を見つけました。私の修正方法を見つけることができません。 http://discuss.emberjs.com/t/trouble-getting-a-simple-ember-data-example-working/8867/5 – Dendrobates
これをエクスプレスサーバ上のapiとして公開したいのですか?これを行うエンドポイントを投稿する必要があります。 –
APIエンドポイントのコードを追加しました@RobertMoskal – Dendrobates