Ich habe Joomla-Erweiterungen seit Version 1 erstellt, muss aber bald eine API live schalten, die ich erstellt habe und die ich seit einiger Zeit verwende. Derzeit verwende ich Joomla 2.5 und habe Plugins für dieses System geschrieben:
https://github.com/techjoomla/com_api
Bevor ich live gehe, möchte ich das System so weit wie möglich zukunftssicher machen. Diese API-Komponente wurde erst kürzlich aktualisiert, um mit Joomla v3 zu arbeiten. Daher wird derzeit verhindert, dass die Site aktualisiert wird. Ich denke auch, dass die Trennung der öffentlichen API und des Benutzerportals sinnvoll ist, da die integrierte Erweiterung keinen Vorteil bringt, da die API von mobilen Apps verwendet wird.
Derzeit ist geplant, die API in einer Subdomain neu zu erstellen, um das Benutzerportal zu aktualisieren. Ich habe über das neue Joomla-Framework gelesen, das aufregend aussieht. Wäre dies geeignet, um eine RESTful-API für unsere mobilen Apps zu erstellen? Wenn ja, sind sie Tipps für den Einstieg? Ich habe gelesen, dass FoF zum Erstellen einer API verwendet werden kann. Wäre dies eine gute Wahl? Ich habe gesehen, dass das Kickstarter-Projekt genau diese Art von API erstellen will. Ist das eine mögliche Option? Sollte ich nur die aktuelle 2.5-Site für die Subdomain entfernen, damit nur die API ausgeführt wird?
Vorschläge zum besten Ansatz für die Erstellung einer Joomla-basierten RESTful-API für die mobile Interaktion werden sehr geschätzt.
Antworten:
Meiner Erfahrung nach:
Über das Joomla-Framework
Ich habe versucht, eine einfache RESTful-API für die integrierte Authentifizierung basierend auf dem Joomla-Framework zu erstellen. Es ist ziemlich komplex und unterscheidet sich erheblich von der aktuellen Joomla-API. Außerdem kann der aktuelle Quellcode nicht kopiert werden, und Bibliotheken können unerwartete Ergebnisse zurückgeben (die in einer anderen Umgebung ausgeführt werden). Ich werde warten, bis mehr Code verfügbar ist und er eine größere Akzeptanz hat.
Über das FOF-Framework
Ich entwickle derzeit nur mit FOF. Sehr praktisch, viel RAD, automatische Konfiguration usw.; und Code ist kompatibel mit J2.5 / J3.
Für eine RESTful-API können Sie einfach das todo-fof-Beispiel abrufen und einen Controller mit der API hinzufügen. Beispiel:
Sie können auch automatische JSON-Ansichten nutzen. Beispielsweise kann eine Browseransicht (default.php) eine JSON-Ausgabe generieren (nur Hinzufügen
default_json.php
undecho json_encode
...).quelle
com_api ist definitiv eine gute Möglichkeit, REST-Services für Ihre Site zu erstellen, wenn die Erweiterung selbst nicht auf FOF / RAD basiert. Seien Sie jedoch vorsichtig mit ein paar Fallstricken, wenn Sie eine separate Joomla-Instanz nur für die API erstellen möchten
Abgesehen davon bin ich mir sicher, dass es keine Probleme geben sollte, da dies so lange weiterentwickelt wird, bis es eine de-facto Joomla-Methode zum Erstellen von APIs gibt.
Haftungsausschluss: Ich bin der Betreuer von https://github.com/techjoomla/com_api
quelle
Meine zwei Cent:
Für einen Kunden musste ich über eine Smartphone-App auf den Inhalt seiner Joomla-Site zugreifen. Der Inhalt wurde in com_content abgelegt, daher habe ich anfangs obRSS-Feeds verwendet. Dann habe ich jBackend auf JED gefunden und ausprobiert. Es ist hier verfügbar unter http://www.selfget.com/products/jbackend.html Der Code scheint sehr sauber zu sein und unterstützt RESTful-Anforderungen und JSON-Antworten. Die Online-Dokumentation ist begrenzt, aber für Techniker klar genug. Leider unterstützt es im Moment nur com_user und com_content, aber in meinem Fall war das in Ordnung. Jetzt sollte ich es für einen anderen Kunden verwenden, der K2 CCK verwendet. Ich versuche, ein benutzerdefiniertes Plugin für den Zugriff auf K2-Artikel und -Kategorien zu erstellen, speichere aber zumindest den gesamten Code für die Anforderungsverwaltung. Ich habe eine E-Mail an den Entwickler gesendet und er sagte mir, dass er auch an zusätzlichen Modulen wie K2 und Kunena Forum arbeitet. Es ist eine vielversprechende Erweiterung.
quelle
Die folgende Site scheint eine hervorragende Quelle für Richtlinien zum Erstellen einer RESTful JSON-API zu sein:
http://jsonapi.org/
Für das, was es wert ist, starte ich auch ein API-Produkt für Joomla 3.4.x namens cAPI http://getcapi.org .
Das Hauptunterscheidungsmerkmal hier ist, dass ich mein Routing-Framework auf Slim Micro-Framework gesetzt habe. Dadurch kann ich ein bereits bewährtes, robustes Framework in die Joomla-Anwendungsinstanz integrieren. Ich habe auch eine Plugin-Architektur für die Servicerouten erstellt, die die Tür für Add-Ons und die Sicherheit von Webdiensten öffnet.
Weitere Informationen aus anderen Beiträgen finden Sie hier:
/programming/26340885/rest-api-for-joomla-3-0/32706378#32706378
Lassen Sie mich wissen, wenn Sie Fragen haben.
quelle