Design & Test First Workflow For REST APIs How can REST API - - PowerPoint PPT Presentation

design test first workflow for rest apis
SMART_READER_LITE
LIVE PREVIEW

Design & Test First Workflow For REST APIs How can REST API - - PowerPoint PPT Presentation

Design & Test First Workflow For REST APIs How can REST API specification projects help us? @mrksdck hand copy workflow design code test document @mrksdck hand copy workflow design code test document :(


slide-1
SLIDE 1

@mrksdck

Design & Test First Workflow For REST APIs

How can REST API specification projects help us?

slide-2
SLIDE 2

@mrksdck

“hand copy” workflow design code test document

slide-3
SLIDE 3

@mrksdck

“hand copy” workflow design ≠ code ≠ test ≠ document

:(

slide-4
SLIDE 4

@mrksdck

need for a better workflow less error prone easier specification implementation specification can be changed

slide-5
SLIDE 5

@mrksdck

REST API specification projects

api blueprint raml swagger

slide-6
SLIDE 6

@mrksdck

helpful tools designing coding testing documenting

slide-7
SLIDE 7

@mrksdck

designing web - / text - editors syntax highlighted wysiwym validator

slide-8
SLIDE 8

@mrksdck

coding generate server client models

slide-9
SLIDE 9

@mrksdck

testing write client & server tests validate implementation import in tools e.g. postman

slide-10
SLIDE 10

@mrksdck

documenting dynamic static

slide-11
SLIDE 11

@mrksdck

tools are here to help → generate test server → generate test client → code → validate implementation → document

slide-12
SLIDE 12

@mrksdck

“tooled” workflow design test code document

slide-13
SLIDE 13

@mrksdck

“tooled” workflow design = test = code = document

:)

slide-14
SLIDE 14

@mrksdck

swagger as an example swagger spec swagger editor swagger codegen swagger ui

slide-15
SLIDE 15

@mrksdck

swagger spec write in editor generate from annotated code put into version control system use as exchange document

slide-16
SLIDE 16

@mrksdck

swagger spec

slide-17
SLIDE 17

@mrksdck

swagger spec

slide-18
SLIDE 18

@mrksdck

swagger editor

slide-19
SLIDE 19

@mrksdck

slide-20
SLIDE 20

@mrksdck

swagger codegen possible targets

android, async-scala, csharp, dart, flash, java, jaxrs, inflector, nodejs, objc, perl, php, python, python3, qt5cpp, retrofit, ruby, scala, scalatra, silex-PHP, sinatra, spring-mvc, dynamic-html, html, swagger, swagger-yaml, swift, tizen, typescript-angular, typescript-node, akka- scala, CsharpDotNet2

slide-21
SLIDE 21

@mrksdck

swagger codegen implement generated interfaces use generated clients in tests get to know different frameworks

slide-22
SLIDE 22

@mrksdck

swagger ui reads swagger.json dynamic html page try out

slide-23
SLIDE 23

@mrksdck

swagger ui

slide-24
SLIDE 24

@mrksdck

swagger ui

slide-25
SLIDE 25

@mrksdck

swagger ui

slide-26
SLIDE 26

@mrksdck

swagger ui

slide-27
SLIDE 27

@mrksdck

“tooled” workflow design test code document

slide-28
SLIDE 28

@mrksdck

artefact relations design test code document

slide-29
SLIDE 29

@mrksdck

automation design swagger-validation test code assertj-swagger document swagger-codegen

slide-30
SLIDE 30

@mrksdck

“tooled” workflow design = test = code = document

:)

slide-31
SLIDE 31

@mrksdck

“design and test first” - workflow design = test = code = document

slide-32
SLIDE 32

@mrksdck

Thank you for listening Questions?

slide-33
SLIDE 33

@mrksdck

References

examples are taken from swagger.io

http://petstore.swagger.io/ http://editor.swagger.io/ http://github.com/swagger-api/

slide-34
SLIDE 34

@mrksdck

related blog posts

http://swagger.io/writing-apis-with-the-swagger-inflector/ http://blog.raml.org/guest-post-api-first-with-raml-development-and- documentation-of-rest-apis/