Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

REST- und JSON-APIs

Die API-Schichten von Exponential für Entwickler, die APIs mit API Platform, Laravel API Resources, dem Django REST Framework oder Spring-Controllern bauen - die REST-Inhalts-API in v1 und v2 mit API-Schlüsseln und…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/web-framework-developers/rest-and-json-apis.md

On this page

This page is a translation. Read the English original

REST- und JSON-APIs

Diese Seite richtet sich an Entwickler, die JSON aus Controllern oder über ein API-Framework bereitstellen. Exponential bietet drei fertige API-Schichten und zusätzlich die Möglichkeit, einfaches JSON aus einer Modul-View auszuliefern. Wählen Sie die Schicht danach, wer sie aufruft.

Inhalt

  1. Welche Schicht
  2. Die REST-Inhalts-API
  3. Eigene REST-Routen
  4. ezjscore-Serverfunktionen
  5. expservices
  6. Einfaches JSON aus einer View
  7. Im Vergleich mit API-Frameworks

Welche Schicht

AufruferSchichtAuthentifizierung
Andere Programme, die Inhalte lesen oder schreiben: Apps, Frontends, IntegrationenREST v1 und v2 (ezprestapi)persönliche API-Schlüssel, OAuth2
Das JavaScript Ihrer eigenen Seitenezjscore-Serverfunktionendie Sitzung, Formular-Token für Schreibzugriffe
Skripte und Apps, die Funktionen der Administrationsoberfläche steuernexpservicesAPI-Tokens
Ein kleiner Endpunkt Ihres ModulsJSON aus einer Modul-Viewdie Sitzung oder Ihre eigene Prüfung

Die REST-Inhalts-API

Relativ zu /api/ezp/<version> (REST-API v1 und v2 für Anwendungen):

MethodePfadv1v2
GET/content/node/<id>jaja
GET/content/node/<id>/list(/offset/<n>)(/limit/<n>)jaja
GET/content/object/<id>, .../fields, .../field/<identifier>jaja
POST/content/node/createneinja
DELETE/content/node/delete/<id>neinja
curl -s -H "Authorization: Bearer $EXP_API_KEY" https://example.com/api/ezp/v1/content/node/2

Jeder Aufruf prüft die Richtlinien des Benutzers (content/read, content/create, content/edit, content/remove), unabhängig von der Art der Anmeldedaten. settings/rest.ini konfiguriert das Framework; [Authentication] RequireAuthentication=enabled ist der Standard. Stellen Sie unter Apache mit FastCGI sicher, dass der Authorization-Header PHP erreicht (Leitfaden REST-API v1 und v2, OAuth und API-Schlüssel).

Eigene REST-Routen

Eine Erweiterung fügt Routen über einen REST-Provider hinzu, der für ein Präfix registriert wird und eine Routentabelle und Controller mitbringt – so wie ezprestapi den ezp7xRestApiProvider für ezp und ezpl registriert. Routen-, Request-, Ergebnis- und Response-Filter sind weitere Erweiterungspunkte (Erweiterungspunkte: REST-Provider). Das Framework authentifiziert; Ihr Controller muss autorisieren.

ezjscore-Serverfunktionen

# extension/expdemo/settings/ezjscore.ini.append.php
<?php /* #?ini charset="utf-8"?
[ezjscServer_expdemo]
Class=expDemoServerFunctions
*/ ?>

<root>/ezjscore/call/expdemo::count::42?ContentType=json ruft expDemoServerFunctions::count( array( '42' ) ) auf und verpackt den Rückgabewert als {"error_text": "", "content": ...}. ezjscore/call prüft selbst keine Richtlinie: Jede Funktion prüft für sich (JSON-Endpunkte mit ezjscore).

expservices

expservices macht aus den Funktionen der Administrationsoberfläche über tausend benannte Dienste (Inhalte, Benutzer, Rollen, Caches, Cronjobs, Shop, Feeds, Medien, Tags, Layouts, das Audit und mehr), die über ezjscore mit einem einheitlichen Antwortformat, Discovery und Tokens aufgerufen werden (Entfernte Dienste mit expservices).

Einfaches JSON aus einer View

header( 'Content-Type: application/json; charset=utf-8' );
echo json_encode( array( 'ok' => true, 'data' => $data ) );
eZExecution::cleanExit();

Für einen einzelnen Endpunkt in Ordnung; für alles Größere verwenden Sie eine der Schichten oben (Responses).

Im Vergleich mit API-Frameworks

FunktionAPI Platform, DRF, Laravel API ResourcesExponential
Ressourcen aus Modellengeneriertdie Inhalts-API deckt Inhalte ab; eigene Ressourcen sind Routen eines REST-Providers
SerialisierungSerializer, ResourcesIhr Controller baut Arrays; REST gibt Felder zurück, optional als XHTML gerendert
OpenAPI-Dokumentationgeneriertnicht generiert
GraphQLals Pakete verfügbarnicht in Exponential 6; die Symfony-Plattformprodukte bieten es (Die Plattformprodukte)
AuthentifizierungTokens, OAuthAPI-Schlüssel, OAuth2, expservices-Tokens

Verwandte Seiten

Werden Sie Exponential-Partner

Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x