RelatedContent API

Übersicht

Die RelatedContent API dient zur Verwaltung von verwandten Inhalten in Fess. Sie können benutzerdefinierte Inhalte definieren, die bei bestimmten Suchbegriffen angezeigt werden.

Basis-URL

/api/admin/relatedcontent

Endpunktliste

Methode Pfad Beschreibung
GET /settings Verwandte Inhalte auflisten
GET /setting/{id} Verwandten Inhalt abrufen
POST /setting Verwandten Inhalt erstellen
PUT /setting Verwandten Inhalt aktualisieren
DELETE /setting/{id} Verwandten Inhalt löschen

Verwandte Inhalte auflisten

Request

GET /api/admin/relatedcontent/settings

Parameter

Parameter Typ Erforderlich Beschreibung
size Integer Nein Anzahl der Einträge pro Seite (Standard: 25; änderbar über paging.page.size in fess_config.properties)
page Integer Nein Seitennummer (beginnt bei 1, Standard: 1; Werte von 0 oder kleiner werden als 1 behandelt)
term String Nein Filterung nach Suchbegriff (Platzhaltersuche)
content String Nein Filterung nach Inhaltstext (Platzhaltersuche)

Response

{
  "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
  }
}

Bemerkung

Jedes Element von settings sowie das setting-Objekt des Einzelabruf-Endpunkts enthält die Felder der gespeicherten Entität unverändert. Neben term, content, sortOrder und virtualHost werden auch die Audit-Felder createdBy, createdTime, updatedBy, updatedTime sowie das Feld versionNo zur optimistischen Sperrung zurückgegeben. createdTime und updatedTime werden als Millisekunden seit dem Epoch-Zeitpunkt (Zahlen) angegeben. Felder, die nicht gesetzt sind (null), werden in der Antwort weggelassen. Außerdem enthält das response-Objekt jeder Antwort stets version, das die Produktversion angibt (Details siehe Admin API Übersicht).

Verwandten Inhalt abrufen

Request

GET /api/admin/relatedcontent/setting/{id}

Response

{
  "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
    }
  }
}

Bemerkung

Der versionNo-Wert, der beim Aktualisieren (PUT) benötigt wird, ist der in dieser Abrufantwort enthaltene Wert.

Verwandten Inhalt erstellen

Request

POST /api/admin/relatedcontent/setting
Content-Type: application/json

Request-Body

{
  "term": "search",
  "content": "<div class='related'><h3>About Search</h3><p>Learn more about search features...</p></div>",
  "sortOrder": 0,
  "virtualHost": ""
}

Feldbeschreibungen

Feld Erforderlich Beschreibung
term Ja Suchbegriff (max. 10000 Zeichen)
content Ja Anzuzeigender HTML-Inhalt (max. 10000 Zeichen)
sortOrder Nein Anzeigereihenfolge (ganze Zahl zwischen 0 und 2147483647)
virtualHost Nein Virtueller Host (max. 1000 Zeichen)

Response

{
  "response": {
    "version": "15.7.0",
    "status": 0,
    "id": "new_content_id",
    "created": true
  }
}

Verwandten Inhalt aktualisieren

Request

PUT /api/admin/relatedcontent/setting
Content-Type: application/json

Request-Body

{
  "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
}

Feldbeschreibungen

Feld Erforderlich Beschreibung
id Ja ID des zu aktualisierenden verwandten Inhalts (max. 1000 Zeichen)
term Ja Suchbegriff (max. 10000 Zeichen)
content Ja Anzuzeigender HTML-Inhalt (max. 10000 Zeichen)
sortOrder Nein Anzeigereihenfolge (ganze Zahl zwischen 0 und 2147483647)
virtualHost Nein Virtueller Host (max. 1000 Zeichen)
versionNo Ja Versionsnummer zur optimistischen Sperrung. Geben Sie den in der Antwort von setting/{id} enthaltenen Wert an.

Response

{
  "response": {
    "version": "15.7.0",
    "status": 0,
    "id": "existing_content_id",
    "created": false
  }
}

Bemerkung

Audit-Felder wie createdBy, createdTime, updatedBy, updatedTime sowie crudMode werden ignoriert, auch wenn sie im Request-Body enthalten sind, da sie serverseitig automatisch gesetzt werden. Sie müssen diese beim Erstellen oder Aktualisieren nicht angeben.

Verwandten Inhalt löschen

Request

DELETE /api/admin/relatedcontent/setting/{id}

Response

{
  "response": {
    "version": "15.7.0",
    "status": 0
  }
}

Verwendungsbeispiele

Verwandter Inhalt für Produktinformationen

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
     }'

Verwandter Inhalt für Support-Informationen

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
     }'

Referenzinformationen