Swagger pour documenter votre REST API - présentation en français

MartinYung 8,575 views 16 slides Jan 15, 2016
Slide 1
Slide 1 of 16
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16

About This Presentation

Voici une présentation que j'ai faite auprès d'une équipe de développement sur la norme Swagger, équivalent du WSDL pour les services REST


Slide Content

Swagger Martin Yung 17 avril 2015

Objectifs Rappels sur les notions REST API Présentation de la norme Swagger Outils

La valeur d'un objet bien conçu : c’est quand il y a un ensemble riche de capacités que les personnes qui l'utilisent peuvent faire des choses que le concepteur n'a jamais imaginé. par Don Norman The value of a well designed object is when it has such a rich set of affordances that the people who use it could do things that the designer never imagined.

REST = Representational state transfer Architecture Client-serveur Sans état ( stateless ) Avantage Respecte le standard HTTP (verbes : GET, POST…) Plus simple, moins verbose que SOAP

API REST = Application Programming Interface Contrat de service Formats de messages XML JSON Exemple USA.gov Supporté par APIgee Microsoft Azure API Management

Qu’est-ce que Swagger ? Grammaire JSON/YAML Décrit une API REST Equivalent de WSDL pour REST Technologies supportées : .NET, Java, NodeJS … Alternatives Aucun standard s’impose WADL (Web Application Description Language ) Soumis à W3C par SUN mais non standardisé

Swagger 2.0 Sortie en septembre 2014 Supporte Markdown Un seul fichier : swagger.json par défaut

Comment utiliser ? API First Utiliser un éditeur Swagger Générer la documentation en HTML Code First (.NET) Ecrire les codes pour les controllers et modèles de vue (design pattern MVVM) Utiliser le nuget Swashbuckle

swagger-editor

swagger-to-html

Swashbuckle

Comment décrire un endpoint Path /api/ parametre /titre/descriptif { get /post} description parameters responses 200 404

Comment décrire un paramètre / une réponse parameters name in description schema type properties produit type : object valeurFaciale …

Ce que nous avons vu Décrire les endpoints avec la norme Swagger Utiliser les outils swagger-editor swagger-to-html Swashbuckle

Resources https://github.com/swagger-api/swagger-spec/blob/master/versions/2.0.md https://www.nuget.org/packages/swashbuckle

Merci 