写一个真正的接口

目标

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

要求:

接口1

添加学生数据

url: localhost:3000/api/student

method: post

参数格式:普通键值对

  • name: 字符串

  • age: 数值

测试:postman来测试

接口2

获取所有的学生数据

url: localhost:3000/api/student

method: get

参数:无

测试:postman来测试

思路

  1. 创建项目serverAPI

  2. npm init --yes

  3. 安装包: npm i express mysql

  4. 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中间件优化一下

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值