Zum Inhalt springen

Material-Pinnwand aus Ordnerdateien erstellen

Sie speichern Markdown-Dokumente und Bilder im Ordner books/guide und richten in Webspace eine Pinnwand ein, die die Dateiliste und den Inhalt der ausgewählten Datei bereitstellt. Die Dateien des Ordners dienen dabei als Originalquelle, ohne dass Sie Beiträge in eine Datenbank kopieren müssen.

Bevor Sie beginnen

  • Sie benötigen die Berechtigung, Schemas und APIs bereitzustellen.
  • Legen Sie die Dateien, die die Pinnwand bereitstellen soll, im Ordner books/guide ab.
  • Legen Sie zuerst die Leseberechtigung des Endpunkts passend zum Veröffentlichungsumfang fest.

Im Beispiel werden nur .md und .png bereitgestellt; Unterordner werden nicht abgefragt.

books/
└── guide/
    ├── getting-started.md
    ├── permissions.md
    └── permissions.png

Verzeichnis-Endpunkt einrichten

Im Beispiel lautet die Datenbankkennung guide, der Tabellenname assets und der benutzerdefinierte Pfad content.

  1. Öffnen Sie die Schemadatei und wählen Sie API-Erstellung.
  2. Wählen Sie in der Tabelle assets die Option API für statische Dateien hinzufügen.
  3. Geben Sie als benutzerdefinierten Pfad content ein.
  4. Wählen Sie unter Quelltyp die Option Ordnerliste · Dateiinhalt.
  5. Wählen Sie unter Ordner auswählen den Ordner books/guide.
  6. Fügen Sie unter Zulässige Dateiendungen die Endungen .md und .png hinzu.
  7. Schalten Sie Unterordner einbeziehen ein, wenn auch Unterordner bereitgestellt werden sollen. In diesem Beispiel bleibt die Option ausgeschaltet.
  8. Legen Sie die Endpunktberechtigung passend zum Veröffentlichungsumfang der Pinnwand fest.

Der daraus resultierende Vertrag für statische Dateien sieht so aus:

{
  "mode": "directory",
  "extensions": [".md", ".png"],
  "recursive": false
}

mode ist entweder file für die Bereitstellung einer einzelnen Datei oder directory für die Bereitstellung eines Ordners. extensions ist die Liste der zulässigen Dateiendungen, die in der Antwort zurückgegeben werden. Ist recursive auf false gesetzt, enthält die Liste nur Dateien direkt unterhalb von books/guide. Um auch Dateien aus Unterordnern bereitzustellen, setzen Sie recursive auf true.

API bereitstellen

  1. Wählen Sie in der fest verankerten Bereitstellungsleiste am unteren Bildschirmrand Bereitstellen, um das Panel nach oben auszuklappen. In diesem Schritt wird noch nichts bereitgestellt.
  2. Geben Sie unter Datenbankkennung den Wert guide ein und prüfen Sie Storage-Engine-Modus und Bereitstellungspfad des Clients.
  3. Wählen Sie im ausgeklappten Panel erneut Bereitstellen.
  4. Prüfen Sie nach Abschluss der Bereitstellung die Listenantwort unter /api/web/guide/assets/content.

Dateiliste laden

Wenn Sie den Verzeichnis-Endpunkt ohne Dateiangabe aufrufen, gibt er eine JSON-Liste zurück.

{
  "items": [
    {
      "name": "getting-started.md",
      "path": "getting-started.md",
      "size": 1842,
      "mimeType": "text/markdown; charset=utf-8",
      "modifiedAt": "2026-10-02T09:30:00Z",
      "url": "/api/web/guide/assets/content?file=getting-started.md"
    }
  ],
  "total": 3,
  "offset": 0,
  "limit": 20
}

In der Listenansicht zeigen Sie name als Titel an und verwenden url, wenn eine Datei ausgewählt wird. Die Gesamtzahl der Ergebnisse steht in total, den aktuellen Abschnitt erkennen Sie an offset und limit.

Mit den folgenden Abfrageparametern können Sie die Liste eingrenzen.

AbfrageBeispielZweck
qq=permissionDurchsucht die Dateinamen.
orderorder=name:ascSortiert nach Name in aufsteigender Reihenfolge.
orderorder=modifiedAt:descSortiert die zuletzt geänderten Dateien zuerst.
offsetoffset=20Legt die Anzahl der zu überspringenden Dateien fest.
limitlimit=20Legt die Anzahl der Dateien pro Anfrage fest.
GET /api/web/guide/assets/content?q=permission&order=modifiedAt:desc&offset=0&limit=20

Ohne limit werden 50 Einträge zurückgegeben; der Höchstwert pro Anfrage ist 200. Gibt es mehr Dateien, prüfen Sie total in der Antwort und erhöhen offset, um die nächste Liste anzufordern. Ohne order gilt name:asc; q darf höchstens 256 Zeichen lang sein.

Ausgewähltes Dokument anzeigen

Übergeben Sie den relativen Pfad aus der Liste im Abfrageparameter file, um den Inhalt der jeweiligen Datei zu erhalten. Relative Pfade zu Dateien in Unterordnern können Sie nur verwenden, wenn recursive auf true gesetzt ist.

GET /api/web/guide/assets/content?file=getting-started.md

.md-Dateien zeigen Sie mit einem Markdown-Renderer als Text an, .png-Dateien verwenden Sie als Bild-URL. Wenn Sie im Client statt selbst zusammengesetzter Dateipfade die url aus der Listenantwort verwenden, lassen sich Änderungen am Endpunktpfad leichter abfangen.

Hinweise

  • Tragen Sie in extensions nur die Formate ein, die Sie veröffentlichen möchten. Im Beispiel sind nur .md und .png zulässig.
  • Sie können bis zu 32 Dateiendungen angeben.
  • Versteckte Dateien und Ordner, deren Name mit einem Punkt (.) beginnt, sowie symbolische Links werden weder in der Liste noch bei Dateianfragen bereitgestellt.
  • Relative Pfade, die den Ursprungsordner verlassen, sind nicht zulässig.
  • Für die Liste und den Dateiinhalt gilt dieselbe Endpunkt-ACL. Geben Sie für öffentliche Endpunkte ausdrücklich login: false an; bei Endpunkten für Mitglieder prüfen Sie zusätzlich die erforderlichen Rollen-, Stufen- und Teambedingungen.
  • Um ein genaues total und ein korrektes Sortierergebnis zu erzeugen, durchsucht der Server bis zu 2.000 Dateien und Ordner. Einträge, die wegen versteckter Pfade oder des Dateiendungsfilters aus der Antwort ausgeschlossen werden, zählen ebenfalls zur Scan-Anzahl. Wird das Limit überschritten, gibt der Server keine Teilliste zurück, sondern weist die gesamte Anfrage mit dem Fehler 413 ab.
  • Prüfen Sie nach dem Hinzufügen oder Bearbeiten von Dateien, ob modifiedAt in der Liste und der angezeigte Inhalt aktualisiert wurden.
  • Wenn die Pinnwand Markdown in HTML umwandelt, prüfen Sie die Renderer-Richtlinie, damit Skripte und gefährliches Markup nicht zugelassen werden.

Verwandte Dokumente