Node.js 搭建 RESTful API 最小实践
Node.js 搭建 RESTful API 最小实践
用 Express 写一套文章接口,只需要几十行代码。
初始化项目
mkdir demo-api && cd demo-api
npm init -y
npm install express
编写服务
import express from 'express'
const app = express()
app.use(express.json())
let posts = [
{ id: 1, title: 'Hello Node.js' },
]
// 获取列表
app.get('/api/posts', (req, res) => {
res.json(posts)
})
// 创建文章
app.post('/api/posts', (req, res) => {
const post = { id: Date.now(), title: req.body.title }
posts.push(post)
res.status(201).json(post)
})
// 更新
app.put('/api/posts/:id', (req, res) => {
const post = posts.find((p) => p.id === Number(req.params.id))
if (!post) return res.status(404).json({ message: 'Not found' })
post.title = req.body.title
res.json(post)
})
// 删除
app.delete('/api/posts/:id', (req, res) => {
posts = posts.filter((p) => p.id !== Number(req.params.id))
res.status(204).end()
})
app.listen(3000, () => {
console.log('Server running on http://localhost:3000')
})
RESTful 的核心约定
| 方法 | 语义 | 示例 |
|---|---|---|
| GET | 查询 | GET /api/posts |
| POST | 创建 | POST /api/posts |
| PUT | 全量更新 | PUT /api/posts/1 |
| DELETE | 删除 | DELETE /api/posts/1 |
真正的项目里,数据要落到数据库,SQL 注入防护、参数校验、错误处理中间件一个都不能少。
看到这里了?如果这篇文章帮到过你
请我喝瓶可乐就好 🥤

评论0 条
还没有评论,来抢沙发~