3分钟 学会Express 后端 API 开发 Node.js

1,806 阅读2分钟

1、安装初始化 及Get方法

  • express 官网 第一部分 安装 并且初始化 引入代码
const express = require('express') // 引入 express
const app = express()   // 实例化
const port = 3000    // 设置端口

// 利用get设置 url
// app.get('/', (req, res) => res.send('Hello World!'))

// 监听端口
app.listen(port, () => console.log(`Example app listening on port ${port}!`))

这样 设置后 node app.js 启动服务 localhost:3000 结果是 Cannot GET / 原因在于 没有处理url路由和http请求

// 利用get设置 url
// 前面一部分是根路由  后面一部分是回调函数 并向客户端发送 数据
app.get('/', (req, res) => res.send('Hello World!'))

重启 node app.js 然后 在 3000端口访问

打印出 Hello World!

2、中间件 post delete

  • 中间件 是自定义 扩展 express功能 在请求前 响应前执行特定操作 app.use(express.json()) //使用 json中间件 扩展express功能

  • 测试一下 post 功能

const express = require('express') // 引入 express
const app = express()   // 实例化
const port = 3000    // 设置端口

app.use(express.json())  //使用 json中间件 扩展express功能

// 利用get设置 url
// 前面一部分是根路由  后面一部分是回调函数 并向客户端发送 数据
app.get('/', (req, res) => res.send('Hello World!'))

app.post('/',(req,res)=> {   // post新建请求
    console.log('收到请求体:',req.body);
    res.status(201).send()  // 设置请求成功状态码 201
})
// 监听端口
app.listen(port, () => console.log(`Example app listening on port ${port}!`))
  • 使用 postman 图片 粘贴不了

    选择post

    地址写上 localhost:3000

    body 选择 raw

    • 注意 postman 数据类型 需要选择为 json 不然 发送后拿不到数据

    json 数据 写 {"name":"fhj"}

然后点 send 可以看到 状态码 201 控制台打印出来 json内容

3、put 更新 数据

app.put("/:id", (req,res)=>{ // 更新数据
    console.log("收到请求参数,id为:", req.params.id);
    console.log("收到请求体:",req.body);
    res.send();
})

更改之后 需要重启服务 非常重要

postman 选择 put 并且填入 localhost:3000/6 选择 body raw json {"name":"fhj"}

点击send之后 得到 id 和 json 数据

4、delete 删除数据

app.delete("/:id",(req,res)=>{ // 删除数据
    console.log("收到请求参数,id为:", req.params.id);
    res.status(204).send()
})
  • 重启服务 ctr+c node app.js
  • postman 测试一下 选择 delete 填入 localhost:3000/6
  • body里面 选择 none 点击send
  • 显示 204 控制台打印 收到请求参数,id为: 6

5、 真实的express项目会包含多个 API

  • 以文章为示例 创建一个 /post子路由
  • 跟路径下创建 routes 里面创建 post.js
const express = require('express');
const route = express.Router()   //router实例

// 把刚才的四个请求 复制过来 并且修改一下内容
// 利用get设置 url
// 前面一部分是根路由  后面一部分是回调函数 并向客户端发送 数据
route.get('/', (req, res) => res.send( {id:1,title:"express 入门教程"}))  //示例数据

route.post('/',(req,res)=> {   // post新建请求
    console.log('保存文章:',req.body);
    res.status(201).send({id:2, ...req.body})  // 设置请求成功状态码 201
})


route.put("/:id", (req,res)=>{ // 更新数据
    console.log("收到请求参数,文章id为:", req.params.id);
    console.log("收到请求体,新文章的内容为:",req.body);
    res.send({id:req.params.id, ...req.body});
})



route.delete("/:id",(req,res)=>{ // 删除数据
    console.log("收到请求参数,文章id为:", req.params.id);
    res.status(204).send()
})


module.exports = route;  // 导出路由变量
  • 需要在 app.js 导入这部分内容
const post = require('./routes/post')
app.use("/post",post)
  • postman 里面测试一下 测试一下post 选择 post localhost:3000/post 然后 写点json数据 点击 send 可以得到 id 和 json数据

6、简化一下

  • routes下面 新建 index.js
 const post = require("./post"); //引入 post
 module.exports =(app) => {  //导出一个函数 接收app对象挂载子路由
     app.use("/post",post)
 }

  • app.js 里面怎么使用 ?
const routes = require("./routes")
routes(app)

7、看到这里

  • 可能使用 不止3分钟 不过 应该很有收获吧 哈哈哈 目的达到了