Le concept est le suivant : RestTemplate permet d'exécuter une requête HTTP. On a donc besoin de fournir l'URL, le type de requête (GET, POST, etc.), et pour finir le type d'objet qui sera retourné.
Spring RestTemplate est un Framework de Spring qui permet d'établir une communication entre un client et un serveur REST, ceci grâce aux requêtes HTTP. SpringMVC permet de faire le lien entre le contrôleur et les pages JSP grâce aux mappings des objets Models (Model, Map, ModelAndView).
Spring Boot est un framework qui facilite le développement d'applications fondées sur Spring en offrant des outils permettant d'obtenir une application packagée en JAR, totalement autonome. Ce qui nous intéresse particulièrement, puisque nous essayons de développer des microservices !
Le principal avantage de Spring Boot est qu'il permet d'être extraordinairement productif dans la construction de son API : il permet de se concentrer sur la partie métier de son application en laissant de côté toute la complexité de la création d'une API.
De cette façon, vous pouvez effectuer des appels vers des services d'API externes à l'aide de la classe Spring Rest Template.
Une API REST (également appelée API RESTful) est une interface de programmation d'application (API ou API web) qui respecte les contraintes du style d'architecture REST et permet d'interagir avec les services web RESTful.
Dans une application Web, vous pouvez simplement interagir avec une API Web coté client en appelant les requêtes HTTP Get, Put, Post et Delete dans un Script JavaScript ou en utilisant jQuery.
Un Framework est une boite à outils pour un développeur web. Frame signifie cadre et work se traduit par travail. Un Framework contient des composants autonomes qui permettent de faciliter le développement d'un site web ou d'une application.
Spring est un framework léger open source largement utilisé pour développer des applications d'entreprise. Spring Boot est construit sur le framework Spring conventionnel, largement utilisé pour développer des API REST.
1- Spring Cloud Overview
Spring est une plateforme construit pour le développement d'applications web en langage Java. Il a été introduit en 2004. En 2006, des sous-projets (sub-project) sont apparus. Chaque sous-projet se concentre sur un domaine différent.
Le principal avantage de AngularJS est qu'il permet aux développeurs de traduire des documents HTML statiques en contenu dynamique. AngularJS est devenu un choix de choix pour les applications Web, ayant un Architecture MVC, et des outils robustes, en particulier pour les applications d'une seule page.
Un framework propose une bibliothèque de fonctionnalités dans laquelle vos développeurs vont pouvoir piocher en fonction de vos besoins. En développement, l'utilisation d'un framework permet donc de gagner du temps et aujourd'hui, il s'agit d'un standard dans la construction d'un projet web ou mobile.
Core Container : il comprend les modules élémentaires spring-core, spring-beans, spring-context, spring-context-support et spring-expression. Core et Beans constituent l'architecture de base du framework et comprennent par exemple la fonction d'injection de dépendance, ainsi qu'un support POJO.
Spring Boot et Angular sont deux frameworks particulièrement prisés pour le développement d'applications web responsives. Ils offrent un cadre structurant pour un développement productif, maintenable, testable et facilement déployable.
Le gros avantage par rapport aux serveurs d'application est qu'avec Spring, les classes n'ont pas besoin d'implémenter une quelconque interface pour être prises en charge par le framework (au contraire des serveurs d'applications J2EE et des EJBs). C'est en ce sens que Spring est qualifié de conteneur « léger ». »
Le projet Spring Boot est une extension du Spring Framework pour mettre en place rapidement des applications Java. Grâce à un système modulaire de dépendances et un principe de configuration automatique, il permet de disposer d'une structure de projet complète et immédiatement opérationnelle.
Les frameworks sont généralement conçus par une communauté de développeurs. Ils fonctionnent par langage de programmation et permettent de développer tous types de supports : applications mobiles, logiciels de bureau, plateformes web, jeux vidéo, etc. Mais l'on peut également créer son propre framework.
Symfony est un framework de développement PHP “open source” avec architecture MVC (Modèle-vue-contrôleur) qui vise à accélérer la création et la maintenance des applications web et à remplacer les tâches de codage récurrentes.
Comme toutes les API, REST permet de déplacer des données entre utilisateurs et applications. Par exemple, lorsque vous vous connectez à un site web ou accédez à une application sur votre téléphone, une API aide votre client à communiquer avec le serveur hôte.
APIs et Web Services servent de “moyen de communication” entre plusieurs sites ou applications. La seule différence est qu'un service Web facilite l'interaction entre deux machines sur un réseau alors qu'une API sert d'interface entre deux applications différentes afin qu'elles puissent communiquer entre elles.
Django (Python)
Le framework REST de Django est facile à utiliser lorsque vous construisez vos API REST avec Django. Il demande un effort d'apprentissage aux débutants, mais possède d'excellentes fonctionnalités intégrées, comme l'authentification et la messagerie.
Un Endpoint est ce qu'on appelle une extrémité d'un canal de communication. Autrement dit, lorsqu'une API interagit avec un autre système, les points de contact de cette communication sont considérés comme des Endpoints. Ainsi, pour les API, un Endpoint peut inclure une URL d'un serveur ou d'un service.
Conception et prototype. Commencez à concevoir votre API en créant un premier prototype que vous pourrez affiner par la suite. Toutes les API doivent répondre à des exigences de base en matière de fiabilité, de sécurité et d'évolutivité. Une fois le prototype créé, vous pourrez commencer à construire votre API.