Vue d’ensemble
L’API RelatedContent est une API permettant de gerer les contenus associes dans Fess. Vous pouvez afficher des contenus personnalises associes a des mots-cles specifiques.
URL de base
/api/admin/relatedcontent
Liste des endpoints
| Methode | Chemin | Description |
|---|---|---|
| GET | /settings | Lister les contenus associes |
| GET | /setting/{id} | Obtenir un contenu associe |
| POST | /setting | Creer un contenu associe |
| PUT | /setting | Mettre a jour un contenu associe |
| DELETE | /setting/{id} | Supprimer un contenu associe |
Lister les contenus associes
Requete
GET /api/admin/relatedcontent/settings
Parametres
| Parametre | Type | Requis | Description |
|---|---|---|---|
size | Integer | Non | Nombre d’elements par page (par defaut : 25 ; modifiable via paging.page.size du fichier fess_config.properties) |
page | Integer | Non | Numero de page (commence a 1 ; par defaut : 1 ; une valeur inferieure ou egale a 0 est traitee comme 1) |
term | String | Non | Filtrer par mot-cle de recherche (recherche avec caracteres generiques) |
content | String | Non | Filtrer par contenu (recherche avec caracteres generiques) |
Reponse
{
"response": {
"version": "15.7.0",
"status": 0,
"settings": [
{
"id": "content_id_1",
"term": "fess",
"content": "<div>Fess is an open source search server.</div>",
"virtualHost": "",
"sortOrder": 0,
"createdBy": "admin",
"createdTime": 1700000000000,
"updatedBy": "admin",
"updatedTime": 1700000000000,
"versionNo": 1
}
],
"total": 5
}
}
Note
Chaque element de settings ainsi que l’objet setting retourne par l’endpoint d’obtention contiennent les champs de l’entite stockee tels quels. En plus de term, content, sortOrder et virtualHost, les champs d’audit createdBy, createdTime, updatedBy, updatedTime ainsi que le champ de verrouillage optimiste versionNo sont egalement retournes. createdTime et updatedTime sont exprimes en millisecondes depuis l’epoque (nombres). Les champs non renseignes (null) sont omis de la reponse. De plus, l’objet response de toutes les reponses contient toujours version, qui indique la version du produit (voir Vue d’ensemble de l’API Admin pour les details).
Obtenir un contenu associe
Requete
GET /api/admin/relatedcontent/setting/{id}
Reponse
{
"response": {
"version": "15.7.0",
"status": 0,
"setting": {
"id": "content_id_1",
"term": "fess",
"content": "<div>Fess is an open source search server.</div>",
"virtualHost": "",
"sortOrder": 0,
"createdBy": "admin",
"createdTime": 1700000000000,
"updatedBy": "admin",
"updatedTime": 1700000000000,
"versionNo": 1
}
}
}
Note
La valeur de versionNo requise lors d’une mise a jour (PUT) est celle incluse dans cette reponse d’obtention.
Creer un contenu associe
Requete
POST /api/admin/relatedcontent/setting
Content-Type: application/json
Corps de la requete
{
"term": "search",
"content": "<div class='related'><h3>About Search</h3><p>Learn more about search features...</p></div>",
"sortOrder": 0,
"virtualHost": ""
}
Description des champs
| Champ | Requis | Description |
|---|---|---|
term | Oui | Mot-cle de recherche (maximum 10000 caracteres) |
content | Oui | Contenu HTML a afficher (maximum 10000 caracteres) |
sortOrder | Non | Ordre d’affichage (entier compris entre 0 et 2147483647) |
virtualHost | Non | Hote virtuel (maximum 1000 caracteres) |
Reponse
{
"response": {
"version": "15.7.0",
"status": 0,
"id": "new_content_id",
"created": true
}
}
Mettre a jour un contenu associe
Requete
PUT /api/admin/relatedcontent/setting
Content-Type: application/json
Corps de la requete
{
"id": "existing_content_id",
"term": "search",
"content": "<div class='related updated'><h3>About Search</h3><p>Updated information...</p></div>",
"sortOrder": 0,
"virtualHost": "",
"versionNo": 1
}
Description des champs
| Champ | Requis | Description |
|---|---|---|
id | Oui | Identifiant du contenu associe a mettre a jour (maximum 1000 caracteres) |
term | Oui | Mot-cle de recherche (maximum 10000 caracteres) |
content | Oui | Contenu HTML a afficher (maximum 10000 caracteres) |
sortOrder | Non | Ordre d’affichage (entier compris entre 0 et 2147483647) |
virtualHost | Non | Hote virtuel (maximum 1000 caracteres) |
versionNo | Oui | Numero de version pour le verrouillage optimiste. Specifier la valeur incluse dans la reponse de setting/{id}. |
Reponse
{
"response": {
"version": "15.7.0",
"status": 0,
"id": "existing_content_id",
"created": false
}
}
Note
Les champs d’audit tels que createdBy, createdTime, updatedBy, updatedTime et crudMode sont ignores meme s’ils sont inclus dans le corps de la requete, car ils sont definis automatiquement cote serveur. Il n’est pas necessaire de les specifier lors de la creation ou de la mise a jour.
Supprimer un contenu associe
Requete
DELETE /api/admin/relatedcontent/setting/{id}
Reponse
{
"response": {
"version": "15.7.0",
"status": 0
}
}
Exemples d’utilisation
Contenu associe pour les informations produit
curl -X POST "http://localhost:8080/api/admin/relatedcontent/setting" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"term": "product",
"content": "<div class=\"product-info\"><h3>Our Products</h3><ul><li>Product A</li><li>Product B</li></ul></div>",
"sortOrder": 0
}'
Contenu associe pour les informations de support
curl -X POST "http://localhost:8080/api/admin/relatedcontent/setting" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"term": "support",
"content": "<div><p>Need help? Contact: support@example.com</p></div>",
"sortOrder": 0
}'
Informations complementaires
Vue d’ensemble de l’API Admin - Vue d’ensemble de l’API Admin
API RelatedQuery - API des requetes associees
Présentation - Guide de gestion des contenus associes