基于Express的Node.js后台接口开发

开发环境以及依赖的包
  • 在本地安装依赖的包 npm install express --save
  • node操作数据库依赖的mysql包 npm install mysqljs/mysql --save
  • 数据库通用操作封装connectDB.js,文件链接
  • mysql环境:Server version: 5.7.24 MySQL Community Server (GPL)
  • node环境安装,这里用的版本是v12.10.0
  • npm安装,这里使用的版本是6.10.0
  • 参考文档:expressmysql
json接口
const express = require('express');
const db = require('./connectDB.js');
const app = express();

app.get('/query', (req, res) => {
  let sql = 'select * from book';
  db.base(sql, null, (result) => {
    res.json(result); //访问127.0.0.1:3000/query  返回json格式的数据
  })
})

app.listen(3000, () => {
  console.log('服务启动');
})
jsonp接口
const express = require('express');
const db = require('./connectDB.js');
const app = express();

//jsonp接口,将返回的json数据通过参数的形式返回,默认回调函数callback
//app.set('jsonp callback name', 'cb');  设置callback的名称为cb
app.get('/query', (req, res) => {
  let sql = 'select * from book';
  db.base(sql, null, (result) => {
    res.jsonp(result); 
    //访问127.0.0.1:3000/query?callback=fun  json数据作为fun函数的参数返回,请求参数callback名称错误则按json格式的数据返回
  })
})

app.listen(3000, () => {
  console.log('服务启动');
})
resful接口
  • 从url的格式来表述(请求的方式影响请求的资源)
    • 页面渲染(查)get请求:http://localhost:3000/books
    • 页面跳转get请求:http://localhost:3000/books/book
    • 提交表单(增)post请求:http://localhost:3000/books/book
    • 根据id查询内容get请求:http://localhost:3000/books/book/1 (将传递的参数直接添加到url后面)
    • 更新内容(改)put请求:http://localhost:3000/books/book
    • 根据id删除内容delete请求:http://localhost:3000/books/book/2
  • 可以通过json或者jsonp返回结果
const express = require('express');
const db = require('./connectDB.js');
const app = express();

//resful接口
app.get('/books', (req, res) => {
  let sql = 'select * from book';
  db.base(sql, null, (result) => {
    res.json(result);
    //访问127.0.0.1:3000/query?callback=fun  json数据作为fun函数的参数返回,请求参数callback名称错误则按json格式的数据返回
  })
})

//带参的情况 http://localhost:3000/books/book/1
app.get('/books/book/:id', (req, res) => {
  let id = req.params.id;
  let sql = 'select * from book where id=?';
  let data = [id];
  db.base(sql, data, (result) => {
    res.json(result[0]);
  })
})

app.listen(3000, () => {
  console.log('服务启动');
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值