Posts from March 7th, 2017.

OpenAPI is moving on!

I am a great fan of standardization in general. API-interop is definitely one of such places where universal standards are needed.

I started using Swagger v. 1.1 some years ago, and them moved to version 2.0 when start working on tooling for APIs and Microservices serving mobile apps.

Today the OpenAPIs Initiative is releasing a implementors draft for version 3.0 of the spec. See announce here.

This new version brings enhancements and simplification to the previous v. 2.
To start supporting v. 3. on my own projects as soon as possible I started the following initiatives:

  1. Build a OpenAPI library for TypeScript to help building API contracts for v.3. https://github.com/metadevpro/openapi3-ts it includes a small fluent DSL to build your contract and explore v. 3 building blocks.
  2. Build a plugin for one of my favourite libs: baucisJS The library is called baucis-openapi3 and as you will probably guess, yes it adds OpenAPI contracts to your API built with baucis.
  3. Setup a working fully sample running on: https://openapi3.herokuapp.com where you can see and compare different contracts versions linked to a working service. Log in with demo/demo for a simple tour. Full source code is available on: https://github.com/pjmolina/event-backend

As v. 3.0.0-rc0 is an evolving standard, I expect to add minor changes to fix bugs and add extra functionality when needed.

These are my two cents to start testing it as a tool implementor.
Enjoy and give feedback!