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

Made with Slides.com