Next.js-API-Endpunkte werden nach der Bereitstellung nicht aktualisiert
Problem: Daten werden über einen API-Endpunkt aus einer Datenbank abgerufen bleibt nach der Projektbereitstellung statisch.
Analyse: Das Problem ist wahrscheinlich auf das Caching zurückzuführen. In Next.js ist für API-Routen und Serverkomponenten das Caching zur Leistungsoptimierung standardmäßig aktiviert. Dieses Caching kann Datenaktualisierungen beeinträchtigen.
Lösung:
Um Caching zu verhindern und dynamische Datenaktualisierungen sicherzustellen, passen Sie das Caching-Verhalten wie folgt an:
Verwenden von fetch():
Fügen Sie die Option „revalidate“ zur fetch()-Anforderung hinzu, um ein erneutes Validierungsintervall in Sekunden anzugeben:
fetch('https://...', { next: { revalidate: 10 } });
Alternativ können Sie die Cache-Option auf „No-Store“ setzen, um das Caching zu deaktivieren:
fetch('https://...', { cache: 'no-store' });
Verwenden der Routensegmentkonfiguration:
Fügen Sie in der Datei „layout.js“, „page.js“ oder „route.js“ den folgenden Code hinzu, um das Caching für das spezifische Routensegment zu deaktivieren:
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(); // ... }
Durch Befolgen dieser Schritte können Sie das Caching für API-Endpunkte deaktivieren und sicherstellen, dass Datenaktualisierungen umgehend nach der Bereitstellung berücksichtigt werden.
Das obige ist der detaillierte Inhalt vonWarum werden meine Next.js-API-Endpunkte nach der Bereitstellung nicht aktualisiert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!