Je construis des extensions Joomla depuis la v1 mais je dois bientôt mettre en ligne une API que j'ai construite et que j'utilise depuis un certain temps. Actuellement, j'utilise Joomla 2.5 et j'ai écrit des plugins pour ce système:
https://github.com/techjoomla/com_api
Avant de mettre en service, je voudrais autant que possible pérenniser le système. Ce composant API a récemment commencé à être mis à niveau pour fonctionner avec Joomla v3, il empêche donc actuellement la mise à niveau du site. Je pense également que séparer l'API publique et le portail utilisateur est logique car il n'y a aucun avantage à ce qu'il s'agisse d'une extension intégrée car l'API sera utilisée par les applications mobiles.
Le plan actuel est de reconstruire l'API sur un sous-domaine qui nous permettra de mettre à niveau le portail utilisateur. J'ai lu sur le nouveau framework Joomla qui a l'air passionnant. Serait-ce approprié pour créer une API RESTful pour nos applications mobiles? Si oui, sont-ils des conseils pour commencer? J'ai lu que FoF peut être utilisé pour construire une API, serait-ce un bon choix? J'ai vu que le projet Kickstarter avait l'intention de construire exactement ce type d'API, est-ce une option potentielle? Dois-je simplement supprimer le site 2.5 actuel pour le sous-domaine afin qu'il n'exécute que l'API?
Toute suggestion sur la meilleure approche pour construire une API RESTful basée sur Joomla pour l'interaction mobile sera très appréciée.
Réponses:
Selon mon expérience:
À propos du framework Joomla
J'ai essayé de créer une API RESTful simple pour l'authentification intégrée basée sur le framework Joomla. C'est assez complexe, assez différent de l'API Joomla actuelle. De plus, le code source actuel ne peut pas être copié et les bibliothèques peuvent retourner des résultats inattendus (en cours d'exécution dans un environnement différent). Je vais attendre que plus de code soit disponible et qu'il soit plus largement adopté.
À propos du cadre FOF
Je ne développe actuellement qu'avec FOF. Très pratique, beaucoup de RAD, configuration automatique, etc; et le code est compatible avec J2.5 / J3.
Pour une API RESTful, vous pouvez simplement saisir l'exemple todo-fof et ajouter un contrôleur avec l'API. Exemple:
Vous pouvez également profiter des vues json automatiques. Par exemple, une vue de navigation (default.php) peut générer une sortie json (simplement en ajoutant
default_json.php
etecho json_encode
...)la source
com_api est certainement un bon moyen de créer des services REST pour votre site si l'extension elle-même n'est pas basée sur FOF / RAD. Cependant, soyez prudent avec quelques pièges si vous prévoyez de créer une instance Joomla distincte uniquement pour l'API
En dehors de cela, je suis sûr qu'il ne devrait pas y avoir de problème, car cela continuera d'être développé jusqu'à ce qu'il existe une méthode Joomla de facto pour créer des API.
Avertissement: je suis le mainteneur de https://github.com/techjoomla/com_api
la source
Mes deux centimes:
Pour un client, j'avais besoin d'accéder au contenu de son site joomla à partir d'une application pour smartphone. Le contenu a été placé dans com_content, donc au départ j'ai utilisé des flux obRSS. Ensuite, j'ai trouvé jBackend sur JED et l'ai essayé. Il est disponible ici http://www.selfget.com/products/jbackend.html Le code semble très propre et il prend en charge les requêtes RESTful et les réponses JSON. La documentation en ligne est limitée mais suffisamment claire pour les techniciens. Malheureusement pour le moment, il ne prend en charge que com_user et com_content, mais dans mon cas, cela allait bien. Maintenant, je devrais l'utiliser pour un autre client qui utilise K2 CCK. J'essaie de créer un plugin personnalisé pour accéder aux articles et catégories K2, mais au moins je vais enregistrer l'intégralité du code de gestion des demandes. J'ai envoyé un e-mail au développeur et il m'a dit qu'il travaillait sur des modules supplémentaires comme K2 et le forum Kunena, c'est une extension très prometteuse.
la source
Le site suivant semble être une excellente ressource pour obtenir des directives sur la façon de créer une API JSON RESTful:
http://jsonapi.org/
Pour ce que ça vaut, je lance également un produit API pour Joomla 3.4.x appelé cAPI http://getcapi.org .
Le principal différenciateur ici est que j'ai jalonné mon framework de routage sur un micro-framework Slim. Cela me permet d'intégrer un cadre robuste déjà éprouvé et robuste dans l'instance d'application Joomla. J'ai également créé une architecture de plugin pour les routes de service, ouvrant la porte à des modules complémentaires et à la sécurité des services Web.
Vous pouvez trouver des informations supplémentaires à partir d'autres postes, ici:
/programming/26340885/rest-api-for-joomla-3-0/32706378#32706378
Faites moi savoir si vous avez des questions.
la source