Ce document décrit l’API des favoris v2 de Fess. Pour l’enveloppe de réponse commune, le modèle d’erreur et les jetons CSRF, voir Vue d’ensemble de l’API.
L’URL de base est http://<Server Name>/api/v2/ (exemple en environnement local : http://localhost:8080/api/v2).
Note
Pour utiliser la fonctionnalité de favoris, le paramètre user.favorite doit être activé (désactivé par défaut).
Liste des documents favoris
Requête
| Méthode HTTP | GET |
| Point de terminaison | /api/v2/favorites |
Retourne les identifiants des documents que l’utilisateur appelant a préalablement mis en favoris parmi les résultats de recherche identifiés par query_id. query_id est l’identifiant opaque (champ query_id) retourné par l’API de recherche (/search).
Un appelant anonyme (sans code utilisateur associé à la session) recevra auth_required (401). Si la fonctionnalité user.favorite est désactivée, une erreur invalid_request (400) est retournée. Si query_id ne correspond pas à un ensemble de résultats en cache dans la session, une réponse 200 avec un tableau data vide est retournée.
Paramètres de requête
query_id | Identifiant opaque query_id retourné par l’API de recherche (/search) (query, obligatoire, str). |
Tableau : Paramètres de requête
Réponse
En cas de succès (200), les champs suivants sont retournés directement sous response dans l’enveloppe commune.
Les détails de chaque champ sont les suivants.
Tableau : Champs de réponse
Réponse d’erreur
Pour le détail du modèle d’erreur, voir Vue d’ensemble de l’API. Les statuts HTTP retournés par ce point de terminaison sont les suivants.
Tableau : Réponses d’erreur
Récupération de l’état favori d’un document
Requête
| Méthode HTTP | GET |
| Point de terminaison | /api/v2/documents/{docId}/favorite |
Récupère l’état favori du document spécifié.
Les appelants anonymes (non authentifiés) peuvent également utiliser ce point de terminaison. Dans ce cas, favorite retourne false, mais count reflète néanmoins le nombre de favoris enregistré (pour cette raison, ce point de terminaison ne retourne pas 401).
Lorsque la fonctionnalité de favoris (user.favorite) est désactivée, le point de terminaison répond avec invalid_request (400).
Paramètres de requête
Tableau : Paramètres de requête
Réponse
En cas de succès (200), les champs suivants sont retournés directement sous response dans l’enveloppe commune.
Les détails de chaque champ sont les suivants.
Tableau : Champs de réponse
Réponse d’erreur
Pour le détail du modèle d’erreur, voir Vue d’ensemble de l’API. Les statuts HTTP retournés par ce point de terminaison sont les suivants.
Tableau : Réponses d’erreur
Ajout aux favoris
Requête
| Méthode HTTP | POST |
| Point de terminaison | /api/v2/documents/{docId}/favorite |
Ajoute le document spécifié aux favoris. Cette requête modifiant l’état, l’en-tête X-Fess-CSRF-Token est requis (voir Vue d’ensemble de l’API). De plus, l’utilisateur appelant doit être authentifié ; les appelants anonymes reçoivent auth_required (401).
Le query_id est utilisé pour confirmer que le document cible appartient à un résultat de recherche récent. Lorsque query_id ne correspond à aucun ensemble de résultats mis en cache dans la session, le point de terminaison répond avec invalid_request (400) ; lorsque docId n’est pas contenu dans cet ensemble de résultats, il répond avec not_found (404).
Paramètres de requête
Tableau : Paramètres de requête
Corps de la requête
Envoyez un JSON (FavoritePostRequest) avec Content-Type: application/json (charset UTF-8) contenant les champs suivants. La taille maximale du corps de la requête est de 1 Kio (1024 octets) ; la dépasser entraîne une réponse payload_too_large (413).
query_id | Identifiant opaque query_id retourné par l’API de recherche (/search) (str, obligatoire). |
Tableau : Corps de la requête
Réponse
En cas de succès (200), les champs suivants sont retournés directement sous response dans l’enveloppe commune.
Les détails de chaque champ sont les suivants. L’exemple ci-dessus correspond à un nouvel enregistrement ; si le favori était déjà présent (un re-POST idempotent), la réponse inclut en outre le champ already_existed (positionné à true).
Tableau : Champs de réponse
Réponse d’erreur
Pour le détail du modèle d’erreur, voir Vue d’ensemble de l’API. Les statuts HTTP retournés par ce point de terminaison sont les suivants.
Tableau : Réponses d’erreur