Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Swagger 2 est mort, vive OpenAPI 3 - Devoxx Fra...

Swagger 2 est mort, vive OpenAPI 3 - Devoxx France 2018 - Conférence

La version 3 d'OpenAPI Spec (fka Swagger) représente l'âge de la maturité pour cette solution de spécification d'API RESTful. La réutilisation est enfin possible : Don't Repeat Your Self !

Nous verrons donc comment décrire très simplement et rapidement une API et factoriser sa description.

Sébastien LECACHEUR

April 20, 2018
Tweet

More Decks by Sébastien LECACHEUR

Other Decks in Programming

Transcript

  1. Swagger 2 est mort, vive OpenAPI 3 Grégory BLOQUEL @gbloquel

    Sébastien LECACHEUR @slecache Devoxx France vendredi 20 avril 2018 - Amphi Bleu - 13h55
  2. Comment ? Ecrire une documentation pour les utilisateurs internes et

    externes, Self portrait in library by Nikolaos Haaponieni
  3. Comment ? Ecrire une documentation pour les utilisateurs internes et

    externes, Rédigée avant l’implémentation pour une approche Contract First, Self portrait in library by Nikolaos Haaponieni
  4. Comment ? Ecrire une documentation pour les utilisateurs internes et

    externes, Rédigée avant l’implémentation pour une approche Contract First, gérée comme du code source, Self portrait in library by Nikolaos Haaponieni
  5. Comment ? Ecrire une documentation pour les utilisateurs internes et

    externes, Rédigée avant l’implémentation pour une approche Contract First, gérée comme du code source, et lisible par des humains. Self portrait in library by Nikolaos Haaponieni
  6. OpenAPI Initiative (OAI) 2015 Démarrage OpenAPI Initiative Projet open source

    intégrant Linux Fundation 2017 OpenAPI Spec 3.0.0 2010 Swagger 1.0 Création de la spécification par Wordnik 2014 Swagger 2.0
  7. Qui est qui ? OpenAPI Initiative (OAI) = Regroupement d’acteurs

    OpenAPI Specification (OAS) = Spécification Swagger = Implémentation OpenAPI 3 = version 3 des spécifications
  8. Terminologie URI comme identifiant de ressource Verbe comme identifiant d’opération

    Réponse HTTP comme représentation de la ressource Liens comme relation entre les ressources
  9. Beaucoup de changements 1 nouveauté par slide 45 slides en

    45 minutes ? 1 nouveauté par slide 45 slides en 45 minutes ? Non ! Allons à l’essentiel ! by Ryan McGuire
  10. Nouveautés Format ▪ GFM vers Common Mark ▪ Gestion des

    versions en SEMVER ▪ JSON Schema Wright Draft 00 ▫ de nouveaux types supportés “oneOf, anyOf, not, nullable, writeOnly”
  11. Nouveautés Sécurité ▪ Basic devient http ▪ Oauth2 updated ▪

    Ajout de “scheme” et “bearer Format” ▪ Support d’OpenID Connect
  12. Nouveautés Link - Pourquoi ? Définir une relation entre une

    réponse et d’autres opérations : “HATEOAS/Hypermedia” ▪ opérations possibles ▪ pagination (cursor)
  13. Tooling ▪ Editeur: swagger-editor ▪ Génération code: swagger-codegen ▪ swagger-code-generators

    ▪ Changement du moteur de templating ▪ Java, JAXRS, Kotlin, HTML ▪ WIP PHP, Scala