0
PostgreSQLデータベースにエントリを作成するためにPOSTリクエスト(postmanを使用)を送信しようとしています。しかし、現在私のPOST要求は[オブジェクト、オブジェクト]を返しています。なぜその理由が分かりません。[オブジェクト、オブジェクト]を返すPOSTリクエスト
リクエストを処理するコードは次のとおりです。
//enable the router
app.use('/', router);
//Create
router.post('/api/v1/todos', (req, res, next) => {
const results = [];
console.log("Congrats you hit the create function!!");
//grab data from http-request, 'complete' is from a boolean value in the database
const data = {text: req.query.text, complete: false };
//give error if not recieving a request
if(!req.query.text) res.send(400, "The Request data is: " + req.query);
//get a prostgres client from the connection pool
pg.connect(connectionString, (err, client, done) => {
//handle connection errors
if (err) {
done();
console.log(err);
return res.status(500).json({success: false, data: err});
}
//SQL Query -> Insert Data
client.query('INSERT INTO items(text, complete) values($1,$2)',
[data.text, data.complete]);
//SQL Query -> Select Data
const query = client.query("SELECT * FROM items ORDER BY id ASC");
//Stream results back one row at a time
query.on('row', (row) => {
results.push(row);
});
//After all data is returned, close connection and return the results
query.on('end',() => {
done();
return res.json(results);
//return res.json(data);
});
});
});
そしてここでは、なぜオブジェクトを返す私のデータである私のPOST
のですか?これを解決するには何ができますか?
ここでオブジェクトを文字列に変換します: 'res.send(400、"要求データは "+ req.query);'。オブジェクトのデフォルト文字列表現は '[object Object]'です。あなたのブラウザのコンソールに次のものを貼り付けることでそれを試してください: '("オブジェクト文字列表現: "+ {})"。 –
*「これを解決するにはどうすればよいですか」*ただしないでください。他にどんなふるまいがありますか?あなたが探している答え/解決策の種類がわからない。 –
@FelixKlingこれは、私が知りたかったことを教えてくれて、ありがとう!いずれにしても、私のデータベースには何も投稿されていないので、なぜ今 – user3335607