目标
基于nodejs 用express + mysql 包 写接口,实现学生数据添加。
要求:
接口1
添加学生数据
url: localhost:3000/api/student
method: post
参数格式:普通键值对
-
name: 字符串
-
age: 数值
测试:postman来测试
接口2
获取所有的学生数据
url: localhost:3000/api/student
method: get
参数:无
测试:postman来测试
思路
-
创建项目serverAPI
-
npm init --yes
-
安装包: npm i express mysql
-
restful风格
实现添加
sql.js
// 1. 加载msyql
let mysql = require('mysql');
// 2. 创建连接
let connection = mysql.createConnection({
host : 'localhost', // 你要连接的数据库服务器的地址
port : 3306,// 端口号
user : 'root', // 连接数据库服务器需要的用户名
password : 'root', // 连接数据库服务器需要的密码
database : 'sqlName' //你要连接的数据库的名字
});
// 3. 连接数据库
connection.connect((err) => {
// 如果有错误对象,表示连接失败
if (err) return console.log('数据库连接失败')
// 没有错误对象提示连接成功
console.log('mysql数据库连接成功')
});
module.exports = connection
server.js代码参考
const express = require('express')
const app = express()
app.use(express.urlencoded())
const connection = require('./utils/sql')
app.post('/api/student',(req,res)=>{
console.log(req.body)
// 1. 接收普通键值对的参数
const { name, age } = req.body
// 2. 添加到数据库中
const sql = `insert into student(name, age) values('${name}',${age})`
console.log('要执行的sql', sql)
// connection.query(sql语句,(err, data)=>{
connection.query(sql,(err, data)=>{
if(err) {
console.log(err)
res.json({msg:'添加失败', code: 0})
} else {
console.log(data)
// 返回
res.json({msg:'添加成功', code: 1})
}
})
})
app.get('/api/student',(req,res)=>{
// 创建sql
// connection.query(sql,(err, data)=> { })
const sql = `select * from student`
connection.query(sql,(err, data)=> {
if(err) {
res.json({msg:'查询失败', code: 0})
} else {
res.json({msg:'查询成功', code: 1,result: data})
}
})
})
app.listen(3000, ()=>{
console.log('接口服务器启动,3000...')
})
以上的内容是实现了接口运行起来就OK了
下面用router中间件优化一下