NextJS с использованием Django API - Как выбрать лучший паттерн

У меня GeoDjango работает на дроплете Digital Ocean, и я переписываю проект с VueJs на NextJs, размещенный на Vercel.

В Vue у нас есть шаблон сервиса, связанный с магазином, который отвечает за получение и обновление данных.

Я разобрался с частью получения данных, что довольно хорошо, но я все еще пытаюсь понять лучший способ обновления данных.

Как мне построить CRUD слой без использования папки NextJs API (я не хочу, чтобы другой бэкенд вызывал мой Django бэкенд).

Нужно ли использовать контекст?

Нужно ли использовать промежуточное ПО?

Следует ли мне создавать пользовательские услуги? Как их потом вызывать? Есть ли эквивалент store в NextJs?

Я спрашиваю, потому что хочу избежать беспорядка, так как сейчас я использую fetch POST на страницах. Я использую NextAuth, который дает мне контекст с jwt-токеном.

Спасибо за любые подсказки

Для Next.js вы можете использовать rewrites для проксирования запросов к вашему бэкенду. Таким образом, вы сможете обращаться к существующему бэкенду по относительным URL, как если бы они были в ваших маршрутах API. Вы можете сделать это явно для каждого маршрута, или вы можете использовать шаблон постепенного внедрения, который будет проверять наличие существующего маршрута в вашем приложении Next.js перед проксированием запроса обратно на ваш сервер django.

// next.config.js
module.exports = {
  async rewrites() {
    return {
      fallback: [
        {
          source: '/api/:path*',
          destination: `https://your.django.app/api/:path*`,
        },
      ],
    }
  },
}
Вернуться на верх