Swagger

GolangSF, January 20, 2016

Ivan Porto Carrero

VMware

About me

Did a bunch of work on/with swagger:

So you think you wanna microservice huh

Read the source!

Stale documentation

Lots of communication required

Bottlenecks

Customers don't want to write your SDK

All too often...

Some requirements

Humans want up to date documentation to read

Consumers need an exhaustive contract
Different teams, different programming languages

Introspection would be a plus
DRY at application level would be nice

More sadness

Enter swagger

Open standard on Linux Foundation

An interface to your service, described in JSON

A language/platform/deployment agnostic contract to your service

Enables "bigotry-free" restful design with emphasis on Getting Things Done.

Machine readable exhaustive contract of server abilities

Server controlled documentation

You had me at tooling

Orthogonal toolkit

Client SDKs

Go Swagger server

You fill in the blanks, aka business logic.

Spec generation

Interaction with a Swagger API

Some resources

What's next?

go-swagger going forward:

Thank you

Ivan Porto Carrero

VMware