Des services Web Spring Boot Rest en utilisant Swagger et Orika

spring security

Des services Web Spring Boot Rest en utilisant Swagger et Orika

Commencer avec Swagger

 

Lors de la création d’une REST API, une bonne documentation est essentielle

 

De plus, chaque modification de l’API doit être décrite simultanément dans la documentation de référence.

 

Qu’est-ce que Swagger ?

 

Swagger est une spécification permettant de documenter la REST API en tant que développeur d’applications et d’écrire des services Web en utilisant votre Framework préféré.

 

Swagger analyse le code et expose la documentation sur une URL.

 

Tout client peut utiliser cette URL (sous forme de documents XML ou JSON) et apprendre à utiliser les services Web REST.

 

Le client sait maintenant quelles méthodes HTTP appeler sur quelle URL, quels documents d’entrée à envoyer, quel code d’état à attendre, etc..

 

Swagger est une spécification et prend en charge un large éventail de Framework.

 

Comment installer Swagger ?

 

Pour utiliser Swagger dans une application Web Spring, vous devez ajouter les dépendances aux bibliothèques Springfox et Swagger dans le fichier pom.xml.

 

 

 

Configurer Swagger 2 dans le projet

 

Pour activer la prise en charge de la spécification Swagger 2.0, utilisez l’annotation @EnableSwagger

 

Pour documenter le service, on utilise un dossier. Ceci est modifié pour être plus en ligne avec le fait que l’expression du contenu de la documentation est indépendante du format de rendu de la documentation .

 

src/main/java/com/intellitech/springlabs/SwaggerConfig.java

 

 

Dans tous les contrôleurs, on deoit utiliser des annotations Swagger pour documenter l’API.

 

src/main/java/com/intellitech/springlabs/controller/UserController.java

 

 

CustomError est une classe utilisée pour renvoyer un message d’erreur dans la réponse.

 

src/main/java/com/intellitech /springlabs/util/CustomError.java

 

 

Comment débuter avec Orika

 

Le développement de logiciels d’entreprise nécessite souvent la création d’API pour chaque composant d’application.

 

Lors de la phase de l’implémentation, il s’agit de mapper des modèles d’API sur différentes couches de composants (par exemple, mapper un modèle de persistance sur un modèle de domaine en DTO).

 

Une telle cartographie est souvent sujette au code standard, consommant du temps et des efforts de développement.

 

La bonne solution est qu’il existe plusieurs alternatives pour le mappage d’objet à objet avec Orika.

 

Bien que ce projet soit assez récent (depuis 2012), il possède une base de code très stable, offre toutes les fonctionnalités pertinentes, et est très facile à comprendre.

 

Comment installer Orika

 

 

Configurez Orika avec le framework Spring

 

Définir la source et la cible des beans

 

Source bean

 

src/main/java/com/intellitech/springlabs/model/User.java

 

 

src/main/java/com/intellitech/springlabs/model/Device.java

 

 

src/main/java/com/intellitech/springlabs/model/Role.java

 

 

Cible Bean

 

src/main/java/com/intellitech/springlabs/model/dto/UserDto.java

 

 

src/main/java/com/intellitech/springlabs/model/dto/DeviceDto.java

 

 

src/main/java/com/intellitech/springlabs/model/dto/RoleDto.java

 

 

La pierre angulaire de base du mapping Framework Orika est la classe MapperFactory.

 

C’est la classe que vous utiliserez pour configurer les mappages et obtenir le MapperFacade qui effectue le travail de mappage proprement dit

 

src/main/java/com/intellitech/springlabs/model.mapper/UserMapper.java

 

 

src/main/java/com/intellitech/springlabs/model.mapper/RoleMapper.java

 

 

src/main/java/com/intellitech/springlabs/model.mapper/DeviceMapper.java

 

 

src/main/java/com/intellitech/springlabs/repository/DeviceRepository.java

 

 

Couche de service

 

Créons maintenant les couches UserService, DeviceService et RoleService (interface et implémentation)

Nous allons injecter UserRepository, DeviceRepository et RoleRepository dans l’implémentation de nos services

 

src/main/java/com/intellitech/springlabs/service/UserService.java

 

 

src/main/java/com/intellitech/springlabs/service/DeviceService.java

 

 

src/main/java/com/intellitech/springlabs/service/RoleService.java 

 

 

src/main/java/com/intellitech/springlabs/service/impl/UserServiceImpl.java

 

 

src/main/java/com/intellitech/springlabs/util/MapperUtil.java

 

 

src/main/java/com/intellitech/springlabs/controller/UserController.java

 

 

src/main/java/com/intellitech/springlabs/controller/LoginController.java

 

 

Exécuter l’application

 

Vous devez tout d’abord créer une base de données avec le nom springlabs et exécuter le script dans la base de données PostgreSQL

 

 

 

Ouvrez le terminal et exécutez mvn spring-boot: exécutez et visitez le localhost: 8080 et authentifiez-vous auprès de l’un des deux utilisateurs

 

USER1: username=user, password=user
USER2: username=admin, password=admin

 

Source code

 

https://bitbucket.org/intellitech-team/spring-labs/src/da6f67a63d9be72c51a38e516350815ac456e404/Lab3/?at=master

 

 

Avatar for Nizar Ellouze

Author: Nizar Ellouze

No Comments

Post a Comment

Comment
Name
Email
Website