Interoperability and data exchange rely on Open Standards—which has been Swagger for the longest time in the API world. With OAS 3.0 becoming more prominent, it’s a good opportunity to read about the differences between OAS 2.0 and 3.0 and remind ourselves that “Swagger” is indeed an outdated term for something we should call “OAS 2.0.”
There are a couple of web-based converters, but I’m not a fan of using this through the browser—and I wouldn’t necessarily want everyone to see my API definitions. What if I want an on-premise solution? There’s a couple of libraries and projects on the web but not that easy to consume.
A dockerized API to convert between 2.0 and 3.0 documents
You’ll have, of course, a Swagger file that describes the API at http://localhost:8080/swagger and a Postman Collection that gets you started quickly.
Here’s a cURL example: let’s convert a YAML based OAS 3.0 document to a Swagger 2.0 (ok… OAS 2.0) document in JSON format:
curl -s -X POST -d@oas3.yaml "http://localhost:8080/v3tov2"
So this works well! I’m hoping the converter will help with your scenario. OAS 3.0 has a couple of significant improvements over 2.0 and you’ll understand that the converter won’t be able to take all the features into account when you are trying to convert a 3.0 document to 2.0.
We have just released API Manager 7.8—and it comes with support for OAS 3.0! You can find more information in the API Management Roadmap on the Axway Community.
Just in case if you’re wondering where the name comes from, Mr. Samsa is the main character in Kafka’s Metamorphosis.