Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
restler [2019/06/03 14:01] unareil |
restler [2019/06/03 15:30] (Version actuelle) unareil Problème de majuscule |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Créer votre propre API REST avec [[Restler]] ====== | ====== Créer votre propre API REST avec [[Restler]] ====== | ||
- | Ce tutoriel utilise le programme open source [[Restler 3.0 de Luracast]] pour créer une API REST. | + | Ce tutoriel utilise le programme open source [[Restler 3.0 de Luracast]] pour créer une API REST. |
+ | |||
+ | Détail de l'installation de Restler sur Debian GNU/Linux 9 (stretch) 64 bits équipé d'un serveur LAMP [[installation Restler|ici]]. | ||
Commençons par quelque chose de simple : nous allons créer une classe Dis.php qui quand elle sera appelé renverra bonjour suivi du paramètre passer à l'URL. | Commençons par quelque chose de simple : nous allons créer une classe Dis.php qui quand elle sera appelé renverra bonjour suivi du paramètre passer à l'URL. | ||
Ligne 29: | Ligne 31: | ||
</code> | </code> | ||
C'est fait la plateforme est prête à prendre en compte les requêtes de type REST en utilisant l'URL suivante : | C'est fait la plateforme est prête à prendre en compte les requêtes de type REST en utilisant l'URL suivante : | ||
- | <code> | + | |
- | index.php/dis/bonjour/Aurélien Martineau | + | ''index.php/Dis/bonjour/Aurélien Martineau'' |
- | </code> | + | |
C'est fait, nous avons réussit à créer une classe et à l'exposer à la méthode de l'URL pour que celle-ci renvoie des informations à l'utilisateur. | C'est fait, nous avons réussit à créer une classe et à l'exposer à la méthode de l'URL pour que celle-ci renvoie des informations à l'utilisateur. | ||
Ligne 72: | Ligne 74: | ||
- | Si vous visitez l'url localhost/index.php/individu/1, Restler utilisera la méthode GET car c'est celle préconisée en Restfull et vous retournera l'enregistrement 1 correspondant à votre base de données. Si vous ne spécifiez d'ID pour un individu tous les enregistrements vous seront retournés par défaut. | + | Si vous visitez l'url ''localhost/index.php/individu/1'', Restler utilisera la méthode GET car c'est celle préconisée en Restfull et vous retournera l'enregistrement 1 correspondant à votre base de données. Si vous ne spécifiez d'ID pour un individu tous les enregistrements vous seront retournés par défaut. |
+ | |||
+ | ===== Les différents types d'erreur ===== | ||
- | Les différents types d'erreur | ||
Comme dans tout système digne de ce nom, la gestion des erreurs est primordiale en Restfull surtout si votre système est intégré à un autre système. | Comme dans tout système digne de ce nom, la gestion des erreurs est primordiale en Restfull surtout si votre système est intégré à un autre système. | ||
Ligne 127: | Ligne 130: | ||
</code> | </code> | ||
- | Maintenant, si vous visitez la page | + | Maintenant, si vous visitez la page ''localhost/index.php/individu/10'', vous aurez le message d'erreur 400 avec le message ''Cet ID n'existe pas''. |
- | Now if you visit the localhost/index.php/person/10, you should be presented with the error code and error message: | + | |
+ | Restler permet d'afficher les erreurs à l'utilisateur si vous le souhaitez. Si c'est le cas, le script n'exécutera alors aucune autre action. | ||
- | Restler enables errors to be displayed to the user if you wish; when this is thrown the script doesn’t execute any further actions | + | ===== Format des données ===== |
- | Formats | + | Vous avez remarqué que par défaut Restler renvoie des données en JSON, c'est la configuration par défaut. |
- | You may have noticed that Restler is displaying the data in JSON. This is the default setting, but you can configure your system to return JSON, XML or enable the user to select which one they want to get back. In order to do this, we simply add a new line of code immediately after we call Restler in our index page: | + | Maintenant vous pouvez lui spécifier un autre langage par exemple le xml en plus du JSON. |
- | $r->setSupportedFormats('XmlFormat','JsonFormat'); | + | |
- | You can see that we have specified XML and JSON, the fact that XmlFormat is listed first means that the data is returned in this format by default. If you now visit localhost/index.php/person/1 the data is returned in XML format and you can switch back to JSON by using the following URL localhost/index.php/person.json/1. | + | <code> |
+ | $r->setSupportedFormats('JsonFormat','XmlFormat'); | ||
+ | </code> | ||
+ | Ainsi par défaut, il retournera du json, mais il pourra également accepté du XML si vous faites la requête suivante : ''localhost/index.php/person.xml/1''. | ||
- | If required the returned data can be displayed in XML format: you pass an array to Restler and it does the rest | ||
Voici la source anglophone d'où provient cet article écrit par Richard Askew : https://hungrydevelopers.blogspot.com/2013/08/create-your-own-api-with-restler.html | Voici la source anglophone d'où provient cet article écrit par Richard Askew : https://hungrydevelopers.blogspot.com/2013/08/create-your-own-api-with-restler.html |