【问题标题】:NextJS API route conflictNextJS API 路由冲突
【发布时间】:2021-08-24 02:13:51
【问题描述】:

我一直在从 CRA 过渡到 NextJS。我正在使用 SSR 重新实现身份验证,我想使用 NextJS 内置 API 路由来设置 HTTPOnly cookie。

有一个奇怪的问题,我的后端基本 URL 是 https://somesite.com/api 而我的前端是 https://somesite.com/。这意味着 NextJS 内置的 API 路由会和我自己的后端发生冲突。

我一直在网上研究,找不到在 NextJS 中更改路由的任何方法,我不想更改后端的基本 URL,因为还有其他服务依赖它。

有人遇到过同样的问题吗?我该如何解决这个问题?

【问题讨论】:

  • 尝试从 pages 文件夹中删除 API 目录。这将删除 API 路由。

标签: api routes next.js


【解决方案1】:

试试 next.js 重写

重写允许您将传入请求路径映射到不同的目标路径。 Docs

在此处查看实时示例:https://stackblitz.com/edit/nextjs-rewrite

如果 Path 是 /api,它将指向 JSON 占位符 API。(例如 /api/todos

module.exports = {
  async rewrites() {
    return [
      {
        source: '/api/:slug*',
        destination: 'https://jsonplaceholder.typicode.com/:slug*'
      }
    ];
  }
};

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-23
    • 2015-11-14
    • 1970-01-01
    • 2014-05-28
    • 1970-01-01
    • 1970-01-01
    • 2017-04-15
    • 2018-03-25
    相关资源
    最近更新 更多