Node实操--写一个真正的端口

1. 目标

基于nodejs 用express + mysql 包 写接口,实现学生数据添加和查询。  

2.  要求

  2.1 接口1         

   添加学生数据

   url: localhost:3000/api/student

   method: post

   参数格式:普通键值对

  •   name: 字符串

  • age: 数值

   测试:postman来测试

  2.2 接口2

   获取所有的学生数据

   url: localhost:3000/api/student

   method: get

   参数:无

   测试:postman来测试

 3. 思路

  1. 创建项目serverAPI

  2. npm init --yes

  3. 安装包: npm i express mysql

  4. restful风格

 

4. 实现添加 

封装 sql.js文件

// 1. 加载mysql
const mysql = require('mysql');
// 2. 创建连接对象
const connection = mysql.createConnection({
  // 对象的属性名字不能改变
  host: 'localhost',
  port: 3306,
  user: 'root',
  password: 'root',
  database: 'node136'
});
// 3. 连接到MySQL服务器
connection.connect((err) => {
  // 如果有错误对象,表示连接失败
  if (err) return console.log('数据库连接失败')
  // 没有错误对象提示连接成功
  console.log('mysql数据库连接成功')
})

module.exports = connection

 sql.js文件引入

参考代码--添加数据

const express = require('express')

const app = express()

app.use(express.urlencoded())
// 引入封装好的sql.js
const connection = require('./tools/sql.js')

// post请求
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({ mag: '添加失败', code: 0 })
    } else {
      console.log(data)
      // 返回
      res.json({ mag: '添加成功', code: 1 })
    }
  })
})

 参考代码--查询信息

// get请求
app.get('/api/student', (req, res) => {
  // 查询数据库student表中的所有数据
  const sql = `select * from student `
  connection.query(sql, (err, data) => {
    if (err) {
      console.log(err)
      // 返回
      res.json({ mag: '添加失败', code: 0 })
    } else {
      console.log(data)
      // 返回
      res.json({ mag: '添加成功', code: 1, result: data })
    }
  })
})


// 接口
app.listen(3000, () => {
  console.log('接口服务器启动,3000...')
})

 数据库信息

 5.postman测试

添加数据:

 

刷新数据库 :数据添加成功

查询数据

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值