Vos APIs ont du Swag
par Florian Genaudet {@FGenaudet}
Quelles solutions ?
Documenter
- Javadoc
- Document Word
- ...
Tester
- REST Console
- Tamper Data
- Homemade FW
Swagger
Introduction
Kesako ?
The goal of Swagger™ is to define a standard, language-agnostic interface to REST APIs which allows both humans and computers to discover and understand the capabilities of the service without access to source code, documentation, or through network traffic inspection.
Sous-Projets / Composants
- Core : JAVA/Scala Implementation
- Codegen : Generation des librairies clientes
- UI : vos APIs dans une page web
- Editor : Editer vos APIs avec Yaml
- .. et beaucoup d'autres
Github : https://github.com/swagger-api
Support / Communauté
- Java (Spring MVC, Spring Boot, Play)
- Scala
- Javascript
- ... en autres...
Github : https://github.com/swagger-api/swagger-spec
Projet
Superheroes
Stack
+ Spring Boot
+ Spring MVC
+ Swagger Annotations
+ Swagger UI (Webjars)
POM Maven
+ Spring boot
+ H2
+ Swagger
Swagger-UI
Ajout des ressources statiques contenues dans le webjar
Swagger-UI
Swagger Config (Optional)
+ Permet de configurer plus finement swagger mais pas nécessaire.
+ Seul chose nécessaire : @EnableSwagger
Rest Controller
SuperHeroesController
+ Pas d'annotation spécifique
Swagger
RestController + Annotations
Swagger
De la doc'
mais aussi du test
Swagger UI
+ Permet de tester l'API dans le navigateur
+ > Démo
Conclusion
- Facile à mettre en place
- Pratique
- Souple
Les Plus
- Annotation au milieu du code
- Code plus complexe
... mais Swagger Editor (http://editor.swagger.io/)
Les Moins
Editor
Merci
Des questions ?
Les superheroes vous attendent sur :
https://bitbucket.org/fgenaudet/superheroes-swagger
swag-api
By Florian Genaudet
swag-api
- 207