返回
Express 速览:API 路由与中间件
前端
2023-09-10 19:09:15
Nuxt 3 API 与服务器中间件
1. 简介
在构建 Nuxt.js 应用时,可以使用服务器目录 (server) 来创建任何后端逻辑。它支持 HMR 和强大的功能。在 server
目录下,包含项目的 API 端点和服务器中间件。
2. API 路由
Nuxt.js 将自动将 .js
或 .ts
文件解析为 API 路由,这些文件位于 server/api
目录中。每个文件代表一个 API 路由,可以包含多个路由处理函数。
以下是一个简单的 API 路由示例:
// server/api/hello.js
export default async (req, res) => {
res.send('Hello, world!')
}
此路由将在 http://localhost:3000/api/hello
上可用。您可以使用 GET
、POST
、PUT
、DELETE
等 HTTP 方法来调用此路由。
3. 中间件
中间件是处理请求和响应的函数,通常用于验证、身份验证、日志记录等目的。
以下是一个简单的中间件示例:
// server/middleware/auth.js
export default async (req, res, next) => {
// 检查请求中是否包含有效的 JWT 令牌
const token = req.headers['authorization']
if (!token) {
return res.status(401).send('Unauthorized')
}
// 验证令牌并提取用户数据
const user = await jwt.verify(token, 'secret')
req.user = user
// 调用下一个中间件或路由处理函数
next()
}
此中间件可以在整个应用程序中使用,以验证请求并提取用户数据。您可以在 server/middleware/index.js
文件中注册中间件,如下所示:
// server/middleware/index.js
import auth from './auth'
export default [
auth
]
4. 总结
Nuxt.js 的 API 路由和中间件功能为开发人员提供了构建 REST API 和 Web 应用程序的强大工具。本文介绍了使用这些功能的基本步骤和示例代码,帮助开发人员轻松上手并快速构建出色的应用程序。