Background Decoration

NEXT.JS FETCH SNIPPET BUILDER

Generiere robuste, typsichere Next.js Fetch-Requests mit perfektem Caching, time-based/tag-based Revalidation und sauberem Fehler-Handling.

1. API-Konfiguration

2. Caching & Reaktivität

Revalidate Intervall (Sekunden):
60s

3. Authentifizierung

4. Erweitert & Typsicherheit

TypeScript Interface generieren
api/fetchPostData.ts
export interface PostData {
  id: number;
  title: string;
  content?: string;
  createdAt: string;
  [key: string]: any;
}

export type FetchResult<T> = 
  | { data: T; error: null }
  | { data: null; error: Error };

export async function fetchPostData(): Promise<FetchResult<PostData>> {
  try {
    const response = await fetch(
      "https://api.example.com/v1/posts",
    headers: {
    "Authorization": `Bearer ${process.env.API_TOKEN}`
    },
    next: { revalidate: 60 }
    );

    if (!response.ok) {
      throw new Error(`Fetch failed with status ${response.status}: ${response.statusText}`);
    }

    const data = await response.json();
    return { data: data<PostData>, error: null };
  } catch (err) {
    return {
      data: null,
      error: err instanceof Error ? err : new Error("Unknown error during fetch")
    };
  }
}
Dokumentation & Best Practices

Caching & Revalidation im Next.js App Router

Seit Next.js 13+ überschreibt Next.js das globale native fetch-API, um Caching auf Serverebene anzubieten. Das sind die wichtigsten Säulen:

1. Request Deduping (Anforderungs-Duplizierung)

Wenn du denselben fetch-Request mit identischem Endpunkt und Parametern an mehreren Stellen im Component-Tree aufrufst (z.B. in der Navigation und im Footer), führt Next.js den Request nur ein einziges Mal pro Rendering-Pass aus. Das manuelle Weiterreichen von Props ist nicht mehr notwendig.

2. Warum ist das Safe-Result-Pattern besser als Standard-Throws?

Das Standard-Throwing von Fehlern bringt die gesamte Server Component zum Absturz und zeigt standardmäßig die Next.js-Fehlerseite `error.tsx` an. Mit dem Result Wrapper (`{ data, error }`) kannst du Fehler im UI elegant auffangen, dem Nutzer lokalisierte Fehlermeldungen zeigen und ein Graceful Degrading realisieren (z.B. leere Beitragsliste statt kompletter Seitenabsturz).

3. Datensicherheit bei API-Keys

Weil Server Components ausschließlich auf dem Server ausgeführt werden und der Code nicht an den Webbrowser übertragen wird, kannst du sensible API-Keys sicher über Systemvariablen (`process.env.MY_SECRET_KEY`) übergeben, ohne befürchten zu müssen, dass Kunden diese in den DevTools einsehen können.

Nächste Schritte & Kontakt

Dein Webprojekt professionell umsetzen?

Du brauchst professionelle Unterstützung bei deinem Web-Projekt? Wir helfen dir bei der Umsetzung von modernen Layouts, performanten Animationen und maßgeschneiderten Lösungen, damit dein Projekt wirklich glänzt.

Webinteger kontaktieren

Sende uns deine Testergebnisse direkt zu. Wir analysieren dein Projekt im Detail und erstellen dir einen Fahrplan zur Behebung.

Beratung anfragen

Nächster Test: Contao 5 Bundle Generator

Nimm deine URL mit zum nächsten Tool, um deine SEO-Analyse zu vervollständigen und weitere versteckte Fehler aufzudecken.

URL zu Contao 5 Bundle Generator übertragen