-
Immer erst das Schema prüfen via
strapi_get_content_types
// Schema enthält wichtige Informationen: { "singularName": "article", "pluralName": "articles", "collectionName": "articles" }
-
Endpoint-Regeln basierend auf Schema:
- REST: Nutze
pluralName
(api/articles) - GraphQL Collection: Nutze
pluralName
(query { articles }) - GraphQL Single: Nutze
singularName
(query { article })
- REST: Nutze
- Kein
id
-Feld mehr - Keine
data
-Wrapper-Struktur - Verwendung der
documentId
als primärer Identifikator
query {
articles {
data {
id
attributes {
name
description
}
}
}
}
query {
articles {
documentId // Eindeutiger Identifikator
name
description
}
}
webtool
bietet verschiedene Methoden:
// 1. Kompletten HTML-Content
webtool_gethtml({
url: "https://example.com",
useJavaScript: false // Optional für dynamische Seiten
})
// 2. Formatierter Markdown-Content
webtool_readpage({
url: "https://example.com",
selector: "body", // Optional für spezifischen Content
useJavaScript: false
})
-
Erst Bild hochladen via
strapi_upload_media
- URL angeben
- Metadata (name, caption, alternativeText) mitgeben
- Format optional (jpeg, png, webp)
- Bild-ID aus Response merken
-
Dann Bild mit Article verknüpfen via REST
- PUT request
- Komplette data-Struktur
- DocumentId statt numerischer ID
- Images als Array
// 1. Bild Upload
strapi_upload_media({
url: "https://example.com/image.jpg",
metadata: {
name: "article-name",
caption: "Article Caption",
alternativeText: "Article Alt Text"
}
});
// 2. Mit Article verknüpfen
PUT api/articles/{documentId}
{
"data": {
"images": [bildId]
}
}
- 404 bei numerischer ID
- 405 bei falschem Endpoint (/article statt /articles)
- 400 wenn data-Wrapper fehlt
- 404 wenn documentId fehlt
- REST erwies sich als zuverlässiger für Updates
- Bei GraphQL gab es mehr Probleme mit der Authentifizierung
- REST erfordert die richtige Plural-Form des Endpoints (articles)
-
Fehlende Konfiguration:
- Frühere Versuche schlugen fehl, weil wahrscheinlich keine explizite GraphQL-Konfiguration vorhanden war
- Mögliche Ursachen:
- Deaktivierte GraphQL-Schnittstelle
- Fehlende Berechtigungen
- Unvollständige Schema-Konfiguration
-
Debugging-Strategie:
// Generische GraphQL-Abfrage, die zunächst fehlschlug query { articles { id name } }
- Funktionierendes Query-Muster:
query { articles { documentId name type description images { url alternativeText } } }
- Vollständige Attribut-Spezifikation: Alle gewünschten Felder explizit auflisten
- Kein Pagination-Parameter bei einfachen Abfragen
- Präzise Schreibweise der Attribute
- Immer erst Schema prüfen
- Bei URLs erst mit webtools den Content validieren
- Bei IDs immer documentId verwenden
- Bei Updates immer data-Wrapper nutzen
- Bei Collections pluralName verwenden
- Bei Single-Entries prüfen ob singular/plural je nach API-Typ
- In Strapi 5: Direkte Attributabfrage ohne
data
-Wrapper documentId
stattid
verwenden
- Bei 404: Prüfen ob plural/singular Form korrekt
- Bei 400: Prüfen ob data-Wrapper vorhanden
- Bei Fehlern bei URLs: Erst mit webtools validieren
- Bei ID-Problemen: Auf documentId prüfen
- Schema und Konfiguration in Strapi überprüfen
-
Pagination: Bei großen Datenmengen Pagination-Parameter verwenden
query { articles(pagination: { page: 1, pageSize: 10 }) { documentId name } }
-
Fehlerbehandlung: Immer Fehlerbehandlung und detaillierte Fehlermeldungen beachten
- Bestehende Queries müssen angepasst werden
id
-Referenzen durchdocumentId
ersetzen- Keine verschachtelten
data
-Strukturen mehr - Direkte Attributabfrage ohne Wrapper
Diese Dokumentation bietet einen umfassenden Überblick über die Verwendung der Strapi-API, mit besonderem Fokus auf die Änderungen in Strapi 5.