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分钟 不过 应该很有收获吧 哈哈哈 目的达到了