API Routes

示例

API路由提供了一个用Next.js构建API的解决方案。

pages/api文件夹中的任何文件都映射到/api/*,将被视为api端点而不是page。它们只是服务器端捆绑包,不会增加客户端捆绑包的大小。

例如,下面的API路由pages/api/user.js返回一个json响应,状态码为200:

export default function handler(req, res) {
  res.status(200).json({ name: 'John Doe' })
}

注意: API路由将受到next.config.js中的pageExtensions配置的影响。

为了让API路由正常工作,你需要导出一个默认的函数(又名请求处理程序),然后它会接收以下参数:

要在一个API路由中处理不同的HTTP方法,你可以使用req.method,像这样:

export default function handler(req, res) {
  if (req.method === 'POST') {
    // Process a POST request
  } else {
    // Handle any other HTTP method
  }
}

要获取API端点,请查看本节开头的任何示例。

用例

对于新项目,你可以用API Routes构建你的整个API。如果已有API,则不需要通过API路由将调用转发到该API。API路由的一些其他用例是:

  • 屏蔽外部服务的URL(如/api/secret而不是https://company.com/secret-url)
  • 在服务器上使用环境变量安全地访问外部服务。

说明

联系

关于下一步的更多信息,我们推荐以下部分:

上次更新:
Loading...