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

RAML une autre façon de concevoir vos APIs RESTful - BreizhCamp 2017 - Tools-in-Action

RAML une autre façon de concevoir vos APIs RESTful - BreizhCamp 2017 - Tools-in-Action

RAML est le langage de description des API RESTful qui monte et qui gagne à être connu. Ce langage favorise la réutilisation : Don’t Repeat Yourself ! Avec le nombre d’APIs qui augmente constamment, RAML est donc le bienvenu.

Nous verrons donc comment décrire très simplement et rapidement une API, factoriser la description et générer une description interactive à publier en ligne ! Nous adresserons également d’autres activités telles que le mocking, les tests automatisés et la génération de code.

Sébastien LECACHEUR

April 21, 2017
Tweet

More Decks by Sébastien LECACHEUR

Other Decks in Programming

Transcript

  1. #BreizhCamp 2017 #RAML ¬ml une autre facon de /ncevoir vos

    apis restful Sébastien LECACHEUR Vendredi 21 avril - Amphi C - 17h00 @slecache 1
  2. #BreizhCamp 2017 #RAML Le contexte Pour nos APIs, nous cherchions...

    Une documentation pour les utilisateurs internes et externes, 4
  3. #BreizhCamp 2017 #RAML Le contexte Pour nos APIs, nous cherchions...

    Une documentation pour les utilisateurs internes et externes, rédigée avant l'implémentation pour une approche contract first, 4
  4. #BreizhCamp 2017 #RAML Le contexte Pour nos APIs, nous cherchions...

    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, 4
  5. #BreizhCamp 2017 #RAML Le contexte Pour nos APIs, nous cherchions...

    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. 4
  6. Qui a dit MS Word ? by Ryan McGuire under

    CC0 1.0 5 #BreizhCamp 2017 #RAML
  7. #BreizhCamp 2017 #RAML RESTful API Modeling Language YAML 2013 Mulesoft,

    AngularJS, PayPal Spécifications sur Vmware, Cisco, Spotify, etc... Restlet, Amazon API Gateway http://raml.org Github 6.1
  8. #BreizhCamp 2017 #RAML RAML - Objectifs With RAML you can

    truly , , , , and your API all with one spec. design build test document share 6.2
  9. #BreizhCamp 2017 #RAML Le bilan Avec RAML, nous avons obtenu...

    Une documentation pour tous les utilisateurs et développeurs, 7
  10. #BreizhCamp 2017 #RAML Le bilan Avec RAML, nous avons obtenu...

    Une documentation pour tous les utilisateurs et développeurs, générée automatiquement à partir de code YAML qui est lisible par des humains et versionné sur Git. 7
  11. #BreizhCamp 2017 #RAML Le bilan Avec RAML, nous avons obtenu...

    Une documentation pour tous les utilisateurs et développeurs, générée automatiquement à partir de code YAML qui est lisible par des humains et versionné sur Git. Mais aussi... 7
  12. #BreizhCamp 2017 #RAML Le bilan Avec RAML, nous avons obtenu...

    Une documentation pour tous les utilisateurs et développeurs, générée automatiquement à partir de code YAML qui est lisible par des humains et versionné sur Git. Mais aussi... Un outil et une méthode de conception des APIs, 7
  13. #BreizhCamp 2017 #RAML Le bilan Avec RAML, nous avons obtenu...

    Une documentation pour tous les utilisateurs et développeurs, générée automatiquement à partir de code YAML qui est lisible par des humains et versionné sur Git. Mais aussi... Un outil et une méthode de conception des APIs, ainsi qu'un try it out ! 7
  14. #BreizhCamp 2017 #RAML une ressource /characters: des verbes get: post:

    un identifiant /characters/{id}: patch: get: 8
  15. #BreizhCamp 2017 #RAML une ressource /characters: des verbes get: post:

    un identifiant /characters/{id}: patch: get: un format de représentation response: 200: body: application/json: example: | {"id":1, "name":"Walter White"} 8
  16. #BreizhCamp 2017 #RAML une ressource /characters: des verbes get: post:

    un identifiant /characters/{id}: patch: get: un format de représentation response: 200: body: application/json: example: | {"id":1, "name":"Walter White"} Votre premier RAML ! 8
  17. #BreizhCamp 2017 #RAML Démo édition - API Workbench + 1ière

    API documentation raml2html api:Console mocks - osprey-mock-service tests - abao (RAML 0.8) top-down en Java (2.0.0-RC2) Maven/JAX-RS : génération des sources Maven/JAX-RS : serveur Jersey 9.2
  18. #BreizhCamp 2017 #RAML Aller plus loin RAML 1.0 : data

    types, annotations, overlays, libraries, security schemes, etc... Parseurs RAML Image Docker $ docker run slecache/api-console https://github.com/raml-apis http://api.yaas.io/patterns/ 12.2
  19. #BreizhCamp 2017 #RAML Ce qu'il faut retenir contract first :

    cycle rapide de conception mais impose de la rigueur une documentation très claire Types & Traits Undisturbed REST 12.3
  20. A vous de jouer et concevoir vos APIs... That's all

    folks by Warner Bros. under public domain 13 #BreizhCamp 2017 #RAML