Non ici on parle de Spark [spark-rest], un framework complet mais très simple à utiliser et très rapide à mettre en oeuvre. Il intègre un serveur web permettant l'écoute d’un port de connexion.
Le plus simple est de mettre en oeuvre. Commençons par importer l'artefact maven associé.
Ensuite tout passe par l’utilisation de la classe statique “spark.Spark”. Celle ci fourni les moyens d'écoute sur un port (reconfigurable)
Ensuite il reste à définir le mapping entre url et path avec des méthodes à exécuter lors de l'utilisation de ces urls. Par exemple on peut faire à un appel d’une méthode sans paramètres:
Lorsqu'il y a des paramètres à manipuler alors on utilise la notation :variable, par exemple:
Il est bien sur possible d’utiliser d’autres primitives http que GET, comme POST, CREATE, DELETE. Je vous renvoie sur la doc pour ces points, n’en ayant pas eut besoin.
Ensuite il ne faut pas oublier que Spark est un serveur web et que du coup on peut aussi le configurer de façon à rendre accessible des ressources statiques. Pour cela on utilise la commande
Voila j'avais parlé d'un article court, et avec ces quelques fonctions on peut déjà faire pas mal de choses. L'implémentation dont est extrait les exemples est dans le bundle OSGI tc-osgi-bundle-manager du depot Github [github]
Il est par contre à noter que ce code est voué à être déplacé dans un bundle dédié et qu’à terme il ne sera plus accessible à cette url. j’ajouterai une note à ce propos à ce moment là… ou pas… lol
En fait depuis il est dispo dans [gh-misc] et utilisé dans la composition docker associée [doc-spark]
[spark-bd] http://spark.apache.org/
[github] https://github.com/collonville-tom/tc-equinox-loader/tree/master/tc-osgi-bundle-manager
[gh-misc] https://github.com/collonville-tom/tc-misc-osgi
[doc-spark] https://cloud.docker.com/u/collonvtom/repository/docker/collonvtom/tc-osgi-bundle-spark
Le plus simple est de mettre en oeuvre. Commençons par importer l'artefact maven associé.
<dependency> <groupId>com.sparkjava</groupId> <artifactId>spark-core</artifactId> <version>2.8.0</version> </dependency>
Ensuite tout passe par l’utilisation de la classe statique “spark.Spark”. Celle ci fourni les moyens d'écoute sur un port (reconfigurable)
Spark.port(port);
Ensuite il reste à définir le mapping entre url et path avec des méthodes à exécuter lors de l'utilisation de ces urls. Par exemple on peut faire à un appel d’une méthode sans paramètres:
Spark.get("/bundles", (request, response) -> this.bundleList(response));
Lorsqu'il y a des paramètres à manipuler alors on utilise la notation :variable, par exemple:
Spark.get("/bundle/:bundleName/:version", (request, response) -> this.bundleInfo(response,request.params(":bundleName"),request.params(":version")));
Il est bien sur possible d’utiliser d’autres primitives http que GET, comme POST, CREATE, DELETE. Je vous renvoie sur la doc pour ces points, n’en ayant pas eut besoin.
Ensuite il ne faut pas oublier que Spark est un serveur web et que du coup on peut aussi le configurer de façon à rendre accessible des ressources statiques. Pour cela on utilise la commande
Spark.staticFiles.externalLocation("/var/www/resources");
Voila j'avais parlé d'un article court, et avec ces quelques fonctions on peut déjà faire pas mal de choses. L'implémentation dont est extrait les exemples est dans le bundle OSGI tc-osgi-bundle-manager du depot Github [github]
Il est par contre à noter que ce code est voué à être déplacé dans un bundle dédié et qu’à terme il ne sera plus accessible à cette url. j’ajouterai une note à ce propos à ce moment là… ou pas… lol
En fait depuis il est dispo dans [gh-misc] et utilisé dans la composition docker associée [doc-spark]
Références
[spark-rest] http://sparkjava.com/[spark-bd] http://spark.apache.org/
[github] https://github.com/collonville-tom/tc-equinox-loader/tree/master/tc-osgi-bundle-manager
[gh-misc] https://github.com/collonville-tom/tc-misc-osgi
[doc-spark] https://cloud.docker.com/u/collonvtom/repository/docker/collonvtom/tc-osgi-bundle-spark
Aucun commentaire:
Enregistrer un commentaire