Skip to content

HermeneusAPI

Die HermeneusAPI ist eine REST-API, die alle möglichen Ressourcen in Hermeneus als JSON-String zurückgibt. Die Basis-URL ist /api/.

Beispiel-Endpunkte

  • GET /api/glossarium/vocab/index/new - Gibt noch nicht freigeschaltete Vokabeln zurück
  • GET /api/glossarium/vocab/index/all/{wortart?} - Gibt alle Vokabeln {optional: einer bestimmten Wortart} zurück
  • POST /api/glossarium/{vocab_wortart}/{vocab_id}/delete - Löscht eine Vokabel anhand der Wortart und der ID

Authentifizierung und Sicherheit

Die HermeneusAPI wurde mit Laravel Sanctum erstellt. Dies ermöglicht zwei verschiedene Authentifizierungsmethoden:

  • Token-basierte Authentifizierung: Es können permanente API-Tokens erstellt werden, die dann in der Anfrage als Bearer-Token mitgeschickt werden müssen. Ein Token kann im Benutzerprofil von Admins und Editoren angefordert werden. Diese Art der Authentifizierung ist nur vorgesehen, wenn die API von einer anderen Anwendung angesprochen wird, die nicht zu Hermeneus gehört.
  • Session-basierte Stateful-Authentifizierung: Authentifizierung innerhalb einer Session, die durch Cookies verwaltet wird. Sie ist die Standard-Authentifizierungsmethode, wenn die API von Hermeneus (z.B. vom Frontend aus) selbst angesprochen wird.

Eine API-Anfrage senden

Für die Session-basierte Authentifizierung wurde eine Wrapper-Klasse namens haxiosAPIClient erstellt, die die Anfragen an die API vereinfacht und die Authentifizierung über Cookies übernimmt und das /api/-Präfix automatisch hinzufügt.

javascript
// Importieren des haxiosAPIClient
import { haxiosAPIClient } from '@/haxios/haxios.js';

// Statistiken zum Glossarium abrufen
// NB: Das Präfix /api/ wird automatisch hinzugefügt
haxiosAPIClient.get('/glossarium/vocab/index/stats')
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        console.error(error);
    });