我在数字海洋 Droplet 上运行 GeoDjango,并且正在将项目从 VueJs 重写为 Vercel 上托管的 NextJs。
在 Vue 中,我们有与存储相关的服务模式,负责获取和更新数据。
我发现获取部分非常好,但我仍在尝试找出更新数据的最佳方法。
我应该如何在不使用 NextJs API 文件夹的情况下构建 CRUD 层(我不想让另一个后端调用我的 Django 后端)。
我应该使用上下文吗?
我应该使用中间件吗?
我应该创建自定义服务吗?那怎么称呼他们呢? NextJs 中是否有相当于 store 的东西?
我这么问是因为我想避免混乱,因为现在我在页面上使用 fetch POST。我正在使用 NextAuth,它为我提供了带有 jwt 令牌的上下文。
感谢您的任何提示
P粉3735968282024-01-11 09:55:04
对于 Next.js,您可以使用 重写以将请求代理到您的后端。这样您就可以从相对 URL 访问现有后端,就像它们位于 API 路由中一样。您可以为每个路由明确执行此操作,或者您可以使用增量采用模式,该模式将在将请求代理回 django 服务器之前检查 Next.js 应用程序中的现有路由。
// next.config.js module.exports = { async rewrites() { return { fallback: [ { source: '/api/:path*', destination: `https://your.django.app/api/:path*`, }, ], } }, }