返回

Express 速览:API 路由与中间件

前端

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 上可用。您可以使用 GETPOSTPUTDELETE 等 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 应用程序的强大工具。本文介绍了使用这些功能的基本步骤和示例代码,帮助开发人员轻松上手并快速构建出色的应用程序。