Parameter


Die Parameter werden an die API zum Lesen über die GET-Parameter angegeben, zum Schreiben verwendet man die POST-Methode. Einzelparameter wie z.B. „foo=bar“ werden ohne Änderungen an den Server weitergereicht. Parameter, die min. eine Tiefe haben (z.B. Arrays) müssen im „JSON“-Format übergeben werden.

Beispiel: Array

array(‘foo‘=> ‘bar‘);

Beispiel: Das Array im „JSON“-Format

[{‘foo‘:‘bar‘}]

 

Format

 

Limit / Offset

Damit die Anfrage auf z.B. 20 Treffer limitiert werden kann, wird der Parameter „limit“ zur Steuerung verwendet. Den Offset steuert man wiederum mit dem Parameter „offset“. Beide Werte können einfach als GET-Parameter übergeben werden. 

Standardwerte

?limit=20
?offset=0
 

Suche

gastronovi Office bietet eine umfangreiche Suchfunktion auf dem Server. Hierzu müssen die Werte als GET-Parameter im richtigen Format übergeben werden. Der Operator-Bereich „[OPERATOR]“ kann mit den Vergleichsoperatoren ausgetauscht werden.

 

  • „=“ genaue Übereinstimmung
  • „!=“ keine genaue Übereinstimmung
  • „<“kleiner 
  • „<=“kleiner gleich
  • „>“größer
  • „>=“größer gleich
  • „%“beginnt mit / endet mit

Syntax

?search[Model.field]=[OPERATOR]VALUE

 

Wenn kein Operator angegeben wird, wird standardmäßig bei Zeichenketten (Strings) eine „LIKE %Suchbegriff%“ Suche durchgeführt. Wenn man z.B. nach allen Rezepten suchen möchte, deren Titelfeld „Wiener“ oder „wiener“ enthält, gibt man folgenden Parameter an:


Beispielsuche auf dem „Titel“ Feld des Models „Rezept“

?search[Recipe.title]=Wiener

Kombinierte Suche (ODER)

?search[Menusection.type]={"or":["=folder","=menu"]}

Kombinierte Suche (UND)

?search[Menusection.type]={"and":["=folder","=menu"]}



Sortierung

 

Im folgenden wird dargestellt, wie die Sortierung in gastronovi Office angesteuert werden kann. In der Syntax kann „DIRECTION“ gegen folgende Werte ersetzt werden.

 

  • „asc“Aufsteigend
  • „desc“Absteigend

 

Syntax

?sort[Model.field]=DIRECTION

Beispiel für die aufsteigende Sortierung nach dem Unternehmen

?sort[Company.title]=asc


Bilder

 

gastronovi Office liefert mit dem serverseitigen Bildgenerator die Möglichkeit die Bilder mittels Parameter zu verarbeiten. Folgende Syntax zeigt den Parameter an. Das Feld „targetField“ dient dazu mehrere Versionen des gleichen Bildes zu erstellen. Über die Optionen (o1, o2 etc.) können verschiedene Varianten angegeben werden:

 

  • „r“ oder „R“ (Ratio) Steht für die Einhaltung von Ratio
  • „f“ oder „F“ (Fit) Steht für die Einhaltung von der angegebenen Größe (Das Bild wird passend gemacht)
  • „r“ und „f“ zusammen skaliert das Ausgangsbild in den Rahmen hinein (max) und füllt den restlichen Bereich mit der Füllfarbe (größter Anteil an Farben aus dem Bild) aus.
  • „b“ Randeinstellungen. „b20“ ergibt einen Rand von 20 Pixel dicke.
  • „d“ Rotation. „d39“ dreht das Bild um 39° im Uhrzeigersinn.
  • „t“ Zielformat. „tpng“ erstellt das generierte Bild im PNG-Format.
  • „g“ Anweisung für den Server das Bild nur zu holen, wenn es bereits existiert. Ansonsten wird ein Fallback-Bild angezeigt.
  • „c“ Hintergrundfarbe für das Bild / Bildrahmen. z.B. „c#ccaaff“
  • „w“ Wasserzeichen „w12x40x20“. Das Bild mit der id 12 wird in der Auflösung 40x20 im Bild als Wasserzeichen platziert.


Syntax

?image[Model.field.targetField]=widthXheight[:o1,o2,o3]

 

Beispiel: Das Rezeptbild wird mit zwei Größen gleichzeitig generiert. Das Seitenverhältnis wird beibehalten.

?image[Recipe.logo]=45x20:r
?image[Recipe.logo.big]=800x600:r