前提・実現したいこと
node.js(Express)を使用し、mysqlのDBからRESTful環境構築を考えております。
CRUD機能の実装を進めており、『全件表示』『一件表示』『削除する』と順調に進めておりましたが、
『新規追加する』でつまずいております。
ソースを下記に記します。
該当のソースコード
js
1const mysql = require('mysql'); 2const express = require('express'); 3var app = express(); 4const bodyparser = require('body-parser'); 5 6app.use(bodyparser.json()); 7 8var mysqlConnection = mysql.createConnection({ 9 host: '127.0.0.1', 10 user: 'root', 11 password: 'root123', 12 database: 'express41', 13 mulipleStatements:true 14}); 15 16mysqlConnection.connect((err) => { 17 if (!err) 18 console.log('DB connection succeded.'); 19 else 20 console.log('DB connection failed \n Error : ' + JSON.stringify(err, undefined, 2)); 21}); 22 23 24app.listen(3000, () => console.log('Express server is runnig at port no : 3000')); 25 26 27//全件表示 28app.get('/users', (req, res) => { 29 mysqlConnection.query('SELECT * FROM users', (err, rows, fields) => { 30 if (!err) 31 res.send(rows); 32 else 33 console.log(err); 34 }) 35}); 36 37//一件表示 38app.get('/users/:id', (req, res) => { 39 mysqlConnection.query('SELECT * FROM users WHERE ID = ?', [req.params.id], (err, rows, fields) => { 40 if (!err) 41 res.send(rows); 42 else 43 console.log(err); 44 }) 45}); 46 47//削除する 48app.delete('/users/:id', (req, res) => { 49 mysqlConnection.query('DELETE FROM users WHERE ID = ?', [req.params.id], (err, rows, fields) => { 50 if (!err) 51 res.send(rows); 52 else 53 console.log(err); 54 }) 55}); 56 57//新規追加する 58app.post('/users', (req, res) => { 59 const data = {id:req.body.id,name:req.body.name,email:req.body.email}; 60 61 let sql = "INSERT INTO users SET ?" 62 let query = mysqlConnection.query(sql,data,(err,results) => { 63 if(err) throw err; 64 //console.log(results); 65 res.redirect('/'); 66 }) 67}); 68
『 全件表示』をpostmanで確認
API確認ツールとして「postman」を利用してtestを実施しております。
全件表示は問題なく出来ているので、「DBの接続」に問題無いと考えております。
発生している問題・エラーメッセージ
postmanにてhttp://localhost:3000/users/に新規ユーザ情報を投稿してみました。
新規でユーザー登録はされたものの、目的とするコンテンツが入ってないのが問題点です。
ここをどのように変更したら、正しく「新規追加」できるようになるのか、ご意見を頂けましたら幸いでございます。
どうぞよろしくお願いいたします。
補足情報(FW/ツールのバージョンなど)
node.js 12.22.10
npm 8.5.0
express 4.17.2
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。