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

Swagger 2 est mort, vive OpenAPI 3 - BreizhCamp...

Swagger 2 est mort, vive OpenAPI 3 - BreizhCamp 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

March 28, 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 BREIZHCAMP 2018 mercredi 28 mars 2018 - Amphi C - 16h
  2. Agenda ▪ OpenAPI ▪ Méthodologie ▪ Les APIs REST ▪

    Nouveautés ▪ Démos ▪ Et après ?
  3. Comment ? Ecrire une documentation pour les utilisateurs internes et

    externes, 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, 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, Self portrait in library by Nikolaos Haaponieni
  6. 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
  7. OpenAPI Initiative (OAI) 2015 Démarrage OpenAPI Initiative Projet open source

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

    OpenAPI Specification (OAS) = Spécification Swagger = Implémentation OpenAPI 3 = version 3 des spécifications
  9. 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
  10. 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
  11. 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”
  12. Nouveautés Sécurité ▪ Basic devient http ▪ Oauth2 updated ▪

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

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

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