我可以将一个 NextJs api 用于 Web 和移动应用程序吗?

Can I use one NextJs api for web and mobile apps?

我想在 Nextjs 中创建网络应用程序,并在未来在 React Native 中创建移动应用程序。但是我很困惑 api 使用什么。您认为 Nextjs api 可以同时处理 Web 和移动应用程序吗?这可能吗?这是个好主意吗?我应该为此使用 PHP 后端吗?非常感谢。

假设您正在谈论 API Routes :

我想请您考虑一下您的网络和应用程序的规模。如果这是一个简单的 web/app,您不希望增长太多 - 类似于建立 nodejs express 服务器的 NextJS API 是一个不错的选择。

设计时请记住一些注意事项API

  1. 可能必须区分请求来源(web/app)
  2. 可能必须自定义 CORS - 接下来公开这个
  3. 您可以设置一个特定于应用程序的路由以确保隔离或使用 headers 来区分将来您的应用程序分叉时的行为。

即使您制作了 PHP、ExpresJS 或任何其他 API 中间件,也有人会担心这些问题。

一旦你经历了这一切,我会请你考虑

  1. 使用像 Apollo 这样的 GraphQL 服务器,它可以很好地与 Next 配合使用,并且是为此目的定制的..
  2. 正在评估 API 网关的安全性和规模。

您根本不使用任何外部工具。

  1. 下一个JS有serverless model。所以,你不需要和BE搞混。
  2. 您可以根据需要创建多条 API 条路线。在 /pages/api 文件夹中。你甚至可以像 /pages/api/desktop/pages/api/mobile 个文件夹。
  3. 您通过 /middleware/your_file.js 连接您的数据库(MongDB、sql 等)。这是 MongoDB
  4. 的示例
  5. 如果愿意,您甚至可以添加一些安全措施(例如:Auth0、next-auth 等)以保护在 /pages/api 文件夹中创建的 API 路由。 Auth0
  6. 示例

之后,您可以通过 API 调用访问您的数据。很好!