info@selectline.de | +49 391 5555-080 | SelectLine – steht jedem Unternehmen

Beschreibung API Filter Language

Um nach Eigenschaften der Modelle zu filtern, kann eine Kombination aus logischen und relationalen Operatoren genutzt werden.
Die Abgrenzung zwischen den logischen Operatoren wird darüber hinaus durch Klammern erreicht.

Folgender Eintrag filtert beim Kunden entweder nach 'Hans Wurst' oder nach 'Peter Wurst'
http://domain:port/api/Customers?filter=(FirstName EQ 'Hans' OR FirstName EQ 'Peter') AND LastName EQ 'Wurst'

Anzahl Datensätze - Paginierung

Standardmäßig werden bei einer Abfrage einer GET-Route, die mehr als einen Datensatz zurückgibt, 10 Datensätze pro Seite geliefert. Durch die Angabe von „Items“ ist es möglich die Anzahl der Datensätze pro Seite zu verändern. Um alle vorhandenen Datensätze abzurufen, kann der Wert auf 0 gesetzt werden. Aus Performancegründen kann es sinnvoll sein, diese Anzahl zu reduzieren. Über „Page“ wird die gewünschte Seite aufgerufen.

Dazu ein Beispiel. Die Ergebnismenge wird in Seiten zu je 20 Datensätzen eingeteilt und die 4. Seite abgerufen.
Url:
GET http://localhost/Documents?Items=20&Page=4

Relationale Operatoren

Operator Text Zeichen Beschreibung
EQ Equal = Gleich
NOTEQ Not Equal != Ungleich
GT Greather Than > Größer als
GE Greather than or Equal >= Größer oder Gleich als
LT Less Than < Kleiner als
LE Less than or Equal <= Kleiner oder Gleich als
CT Contains Enthält Zeichenkette
NOTCT Not Contains Enthält nicht Zeichenkette
SW Starts With Beginnt mit Zeichenkette
NOTSW Not Starts With Beginnt nicht mit Zeichenkette
EW Ends With Endet mit Zeichenkette
NOTEW Not Ends With Endet nicht mit Zeichenkette
IS NULL Is Null Ist leer

Logische Operatoren

Operator Beschreibung
AND Und
OR Oder
ANDNOT Und Nicht
ORNOT Oder Nicht

Formatierung von Werten

Typ Wert
Zeichenketten 'Abcdefg'
Zahlen 123.45
Boolesche Werte 0 für false
1 für true
Datum '[Jahr][Monat][Tag]'
z.b. '20150115'
Uhrzeit '[Stunde]:[Minute]:[Sekunde]'
z.b. '14:35:58'
Datum mit Uhrzeit '[Jahr][Monat][Tag] [Stunde]:[Minute]:[Sekunde]'
z.b. '20141015 09:20:35'

Beispiele

Alle Kunden die nach dem 1.5.2014 vom Benutzer mit Kürzel 'ap' erstellt wurden.
http://domain:port/api/Customers?filter=MetaData.CreationDate GT '20140501' AND MetaData.CreationUserToken EQ 'ap'

Alle inaktiven Kunden die in Hamburg oder Berlin wohnen.
http://domain:port/api/Customers?filter=(Address.City EQ 'Hamburg' OR Address.City EQ 'Berlin') AND Inactive EQ 1

Alle Artikel deren Gewicht größer 5 und kleiner 10 ist
http://domain:port/api/Article?filter=Weight GT 5 AND Weight LT 10