Dieses Dokument beschreibt die v2-Favoriten-API von Fess. Informationen zum gemeinsamen Antwort-Envelope, zum Fehlermodell und zu CSRF finden Sie unter API-Übersicht.
Die Basis-URL lautet http://<Server Name>/api/v2/ (Beispiel für eine lokale Umgebung: http://localhost:8080/api/v2).
Bemerkung
Um die Favoriten-Funktion zu nutzen, muss die Einstellung user.favorite aktiviert sein (standardmäßig deaktiviert).
Favoritendokumente auflisten
Anfrage
| HTTP-Methode | GET |
| Endpunkt | /api/v2/favorites |
Gibt die IDs der Dokumente zurück, die der aufrufende Benutzer in den durch query_id identifizierten Suchergebnissen als Favoriten gespeichert hat. query_id ist der von der Such-API (/search) zurückgegebene undurchsichtige Bezeichner (Feld query_id).
Anonyme Aufrufer (ohne Benutzercode in der Sitzung) erhalten auth_required (401). Wenn die Funktion user.favorite deaktiviert ist, wird invalid_request (400) zurückgegeben. Wenn query_id nicht mit einem gecachten Ergebnissatz in der Sitzung übereinstimmt, werden 200 und ein leeres data-Array zurückgegeben.
Anfrageparameter
query_id | Undurchsichtiger query_id (query, Pflicht, str), der von der Such-API (/search) zurückgegeben wird. |
Tabelle: Anfrageparameter
Antwort
Bei Erfolg (200) werden die folgenden Felder direkt unter response im gemeinsamen Envelope zurückgegeben.
Die einzelnen Felder sind wie folgt beschrieben:
Tabelle: Antwortfelder
Fehlerantwort
Details zum Fehlermodell finden Sie unter API-Übersicht. Folgende HTTP-Statuscodes können von diesem Endpunkt zurückgegeben werden:
Tabelle: Fehlerantwort
Favoritenstatus abrufen
Anfrage
| HTTP-Methode | GET |
| Endpunkt | /api/v2/documents/{docId}/favorite |
Ruft den Favoritenstatus des angegebenen Dokuments ab.
Anonyme (nicht authentifizierte) Aufrufer können diesen Endpunkt ebenfalls verwenden. In diesem Fall gibt favorite den Wert false zurück, jedoch spiegelt count weiterhin die gespeicherte Favoritenanzahl wider (aus diesem Grund gibt dieser Endpunkt kein 401 zurück).
Wenn die Favoriten-Funktion (user.favorite) deaktiviert ist, antwortet der Endpunkt mit invalid_request (400).
Anfrageparameter
Tabelle: Anfrageparameter
Antwort
Bei Erfolg (200) werden die folgenden Felder direkt unter response im gemeinsamen Envelope zurückgegeben.
Die einzelnen Felder sind wie folgt beschrieben:
doc_id | Dokument-ID (str). |
favorite | Gibt an, ob das Dokument ein Favorit des aufrufenden Benutzers ist (bool). |
count | Anzahl der Favoriten für dieses Dokument (int64). |
Tabelle: Antwortfelder
Fehlerantwort
Details zum Fehlermodell finden Sie unter API-Übersicht. Folgende HTTP-Statuscodes können von diesem Endpunkt zurückgegeben werden:
Tabelle: Fehlerantwort
Dokument als Favorit speichern
Anfrage
| HTTP-Methode | POST |
| Endpunkt | /api/v2/documents/{docId}/favorite |
Speichert das angegebene Dokument als Favoriten. Da es sich um eine zustandsändernde Anfrage handelt, ist der X-Fess-CSRF-Token-Header erforderlich (siehe API-Übersicht). Außerdem muss der aufrufende Benutzer authentifiziert sein; anonyme Aufrufer erhalten auth_required (401).
query_id wird verwendet, um zu bestätigen, dass das Zieldokument zu einem aktuellen Suchergebnis gehört. Wenn query_id mit keinem gecachten Ergebnissatz in der Sitzung übereinstimmt, antwortet der Endpunkt mit invalid_request (400); wenn docId nicht in diesem Ergebnissatz enthalten ist, wird not_found (404) zurückgegeben.
Anfrageparameter
Tabelle: Anfrageparameter
Anfrage-Body
Sendet ein JSON (FavoritePostRequest) mit Content-Type: application/json (Zeichensatz UTF-8) und den folgenden Feldern. Die maximale Größe des Anfrage-Bodys beträgt 1 KiB (1024 Byte); wird diese überschritten, wird payload_too_large (413) zurückgegeben.
query_id | Undurchsichtiger query_id (str, Pflicht), der von der Such-API (/search) zurückgegeben wird. |
Tabelle: Anfrage-Body
Antwort
Bei Erfolg (200) werden die folgenden Felder direkt unter response im gemeinsamen Envelope zurückgegeben.
Die einzelnen Felder sind wie folgt beschrieben. Das obige Beispiel gilt für eine Neuregistrierung; wenn der Favorit bereits zuvor gespeichert wurde (idempotenter erneuter POST), enthält die Antwort zusätzlich das Feld already_existed (mit dem Wert true).
Tabelle: Antwortfelder
Fehlerantwort
Details zum Fehlermodell finden Sie unter API-Übersicht. Folgende HTTP-Statuscodes können von diesem Endpunkt zurückgegeben werden:
Tabelle: Fehlerantwort