Abfrageparameter
Jeder API-Endpunkt unterstützt diese Optionen mithilfe von URL-Abfrageparametern:
Abfrage | Standard | Beispiel | Beschreibung |
|---|---|---|---|
text |
| Durchsucht und filtert Inhalte anhand des angegebenen Textes | |
Begrenzung | 10 |
| Begrenzt die maximal mögliche Anzahl der Einträge, die vom Endpunkt abgerufen werden. Der Höchstwert beträgt 20. |
Versatz | 0 |
| Passt den Offset der zurückgegebenen Elemente an |
orderBy | createdAt |
| Sie können Entitäten sortieren, indem Sie ein Feld des Modells auswählen, nach dem sortiert werden soll |
filter |
| Filter lassen sich erstellen und kombinieren, um die abgerufenen Inhalte einzugrenzen. | |
Felder |
| Ideanote erfordert, dass der Nutzer der API eine durch Kommas getrennte Liste der zurückzugebenden Felder angibt. Dies dient dazu, die Performance sicherzustellen und das Befüllen verschachtelter Entitäten zu ermöglichen. |
Felder
Ideanote erfordert, dass der Nutzer der API eine durch Kommas getrennte Liste der zurückzugebenden Felder angibt. Dies dient dazu, die Performance sicherzustellen und das Befüllen verschachtelter Entitäten zu ermöglichen.
Direkte Felder befüllen
?fields=id,title,question gibt die folgende JSON-Struktur zurück:{
"id": "abc",
"title": "Title",
"question": "Question"
}Felder lassen sich direkt in der Entität (siehe Beispiel) befüllen.
Eine Übersicht der Felder, die Sie für jede Entität befüllen können, finden Sie hier. Beispielsweise finden Sie hier alle Felder der Entität Mission hier
Befüllen verschachtelter Felder (Punktsyntax)
?fields=id,title,cover.kind,cover.url.original gibt die folgende JSON-Struktur zurück:{
"id": "abc",
"title": "Title",
"cover": {
"kind": "IMAGE",
"url": {
"original": "https://...."
}
}
}Verschachtelte Felder können mithilfe der Punktsyntax befüllt werden, zum Beispiel cover.url.original (siehe Beispiel).
Befüllen mehrerer verschachtelter Felder (geschweifte-Klammern-Syntax)
?fields=id,title,cover.{url.original,kind,fileName} gibt die folgende JSON-Struktur zurück:{
"id": "abc",
"title": "Title",
"cover": {
"kind": "IMAGE",
"fileName": "my-file.jpg",
"url": {
"original": "https://...."
}
}
}Um mehrere Felder verschachtelter Entitäten einfacher zu befüllen, können mehrere verschachtelte Felder kombiniert werden, zum Beispiel cover.{url.original, kind, fileName} (siehe Beispiel).
Sortierung
Sie können Entitäten sortieren, indem Sie ein Feld des Modells auswählen, nach dem sortiert werden soll
Sortierung nach Eigenschaft mit impliziter aufsteigender Reihenfolge
?orderBy=firstName gibt die folgende JSON-Struktur zurück:[{ "firstName": "A" }, { "firstName": "B" }, { "firstName": "C" }]Es ist möglich, nach jeder Eigenschaft eines Modells wie createdAt, title, id usw. zu sortieren, indem man einfach den Namen dieser Eigenschaft als orderBy-Abfrageparameter angibt. Dadurch werden die Einträge in einer ascending Reihenfolge sortiert (siehe Beispiel)
Sortierung nach Eigenschaft mit expliziter aufsteigender Reihenfolge
?orderBy={"key": "firstName", "direction": "DESC"} gibt die folgende JSON-Struktur zurück:[{ "firstName": "C" }, { "firstName": "B" }, { "firstName": "A" }]Die Bereitstellung einer JSON-Struktur mit einer key und einer direction-Eigenschaft, beispielsweise {"key": "createdAt", "direction": "DESC"}, gibt Ihnen maximale Kontrolle über die Reihenfolge.
- key: Die Eigenschaft, nach der sortiert werden soll. Beispiele:
createdAt,title,id. - direction: Die Sortierreihenfolge der Einträge. Mögliche Werte:
DESC: Die Einträge werden in absteigender Reihenfolge sortiert.ASC: Die Einträge werden in aufsteigender Reihenfolge sortiert.
Filter
Sie können Filter erstellen und kombinieren, um die abgerufenen Inhalte einzugrenzen.
Einfache Filterung mit implizitem EQUALS-Operator
Mit dem folgenden Filter werden Entitäten ausgewählt, deren title-Eigenschaft exakt dem Wert "How might we improve our products" entspricht:
?filter={"title":"How might we improve our products"}
Einfache Filterung mit explizitem Operator
Mit dem folgenden Filter werden Entitäten ausgewählt, deren title-Eigenschaft die Teilzeichenfolge "How might we" enthält.
?filter={"title":{"op": "INCLUDES", "value": "How might we"}}
Hier finden Sie eine Liste aller verfügbaren Operatoren:
Operator | Beschreibung | Beispiel |
|---|---|---|
GLEICH | Prüft auf eine exakte Übereinstimmung |
|
NOT_EQUALS | Die Negation des EQUALS-Operators | Ein vergleichbares Beispiel finden Sie unter EQUALS. |
IN | Prüft, ob die Eigenschaft einem der angegebenen Werte entspricht |
|
IS_NULL | Prüft auf einen Nullwert |
|
IS_NOT_NULL | Die Negation des IS_NULL-Operators | Siehe IS_NULL für ein vergleichbares Beispiel. |
INCLUDES | Prüft, ob die Eigenschaft den angegebenen Wert enthält |
|
NOT_INCLUDES | Die Negation des INCLUDES-Operators | Ein vergleichbares Beispiel finden Sie unter INCLUDES. |
INCLUDES_ELEMENT | Prüft, ob eine JSON-Eigenschaft (z. B. ein Array) den angegebenen Wert enthält |
|
NOT_INCLUDES_ELEMENT | Die Negation des INCLUDES_ELEMENT-Operators | Ein vergleichbares Beispiel finden Sie unter INCLUDES_ELEMENT. |
KLEINER_ALS | All diese Funktionen vergleichen den aktuellen Wert (in der Regel einen ISODate-Wert oder eine Zahl). |
|
Gruppierte Filterung
Der folgende Filter wählt Entitäten aus, die nach 2020-01-01 erstellt wurden, sowie OR Entitäten, für die die id Eigenschaft entweder "6b8e6531-cf07-4d1f-be39-68ea22d88c0e" oder "99e5d8b8-c477-4ce9-812e-9822d18adb99" ist, indem zwei Filter kombiniert werden, die durch einen OR ODER-Operator getrennt sind.
?filter={ "op":"or", "filter":[ { "createdAt": {"op":"GREATER_THAN_OR_EQUALS","value":"2020-01-01T00:00:00.000Z"} }, { "id": { "op":"IN", "value":[ "6b8e6531-cf07-4d1f-be39-68ea22d88c0e", "99e5d8b8-c477-4ce9-812e-9822d18adb99" ] } } ] }
Kombinierte, tiefgehende Filterung
Der folgende Filter kombiniert einen äußeren AND mit einem inneren OR. Er wählt Entitäten aus, bei denen die Frage „How might we“ enthält, AND (entweder ist der Status „OPEN“ ODER der Titel ist „My Mission“)
?filter={"op":"and","filter":[{"question":{ "op":"INCLUDES","value":"How might we"}},{"op":"or","filter":[{"status":"OPEN" },{"title":"My Mission"}]}]}