Einführung eines neuen API-Aufrufs: api_spec() - der die gesamte Spezifikation des Linode-API in maschinenlesbarem Format erzeugt. Die generierte Struktur enthält alle API Klassen und Methoden und beinhaltet Methodenparameter, deren Beschreibungen, Datentypen, Standardwerte und welche Fehler ausgelöst werden können.
Ein häufiges Problem bei der Implementierung von API Bindings oder Tools besteht darin, dass man am Ende dieselben Klassen, Methoden, Eigenschaften, Typvalidierungen und Fehlerbehandlungen dupliziert - was mühsam und fehleranfällig ist und ohne Codeänderungen keine neuen API Methoden oder Parameter erhält.
Indem die Spezifikation des API in einem maschinenlesbaren Format zur Verfügung gestellt wird, können Werkzeuge geschrieben werden, die die Struktur abrufen und das API dynamisch aus dem Inhalt der Struktur implementieren. Keine harte Kodierung von Methoden. Keine harte Kodierung von Parametern. Kein Bitrot.
Der Anruf ist nicht autorisierungspflichtig.
Viel Spaß!
-Chris
Kommentare (2)
Nice, I’ll have to check this out. Perhaps it will make writing a Drupal module easier, as well as implimenting custom php functions to call and validate Linode api calls.
Anything that makes writing Drupal modules easier has to be a good thing 🙂
Good job folks, I will find that handy in the coming months of development!