Maison > interface Web > js tutoriel > Pourquoi mes points de terminaison d'API Next.js ne se mettent-ils pas à jour après le déploiement ?

Pourquoi mes points de terminaison d'API Next.js ne se mettent-ils pas à jour après le déploiement ?

Linda Hamilton
Libérer: 2024-11-02 08:31:02
original
527 Les gens l'ont consulté

Why are My Next.js API Endpoints Not Updating After Deployment?

Les points de terminaison de l'API Next.js ne sont pas mis à jour après le déploiement

Problème : Données récupérées à partir d'une base de données via un point de terminaison de l'API reste statique après le déploiement du projet.

Analyse : Le problème provient probablement de la mise en cache. Dans Next.js, la mise en cache des routes API et des composants serveur est activée par défaut pour l'optimisation des performances. Cette mise en cache peut interférer avec les mises à jour des données.

Solution :

Pour empêcher la mise en cache et garantir des mises à jour dynamiques des données, ajustez le comportement de mise en cache comme suit :

  • Utilisation de fetch() :

    • Ajoutez l'option revalidate à la requête fetch() pour spécifier un intervalle de revalidation en secondes :

      fetch('https://...', { next: { revalidate: 10 } });
      Copier après la connexion
    • Vous pouvez également définir l'option de cache sur no-store pour désactiver la mise en cache :

      fetch('https://...', { cache: 'no-store' });
      Copier après la connexion
  • Utilisation de la configuration du segment de route :

    • Dans le fichier layout.js, page.js ou route.js, ajoutez le code suivant pour désactiver la mise en cache pour le segment de route spécifique :

      import prisma from './lib/prisma';
      
      export const dynamic = 'force-dynamic';
      
      async function getPosts() {
        const posts = await prisma.post.findMany();
        return posts;
      }
      
      export default async function Page() {
        const posts = await getPosts();
        // ...
      }
      Copier après la connexion

En suivant ces étapes, vous pouvez désactiver la mise en cache des points de terminaison de l'API et garantir que les mises à jour des données sont reflétées rapidement après le déploiement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal