OpenAPI Extensibility - The Good, The Bad and The YAMLy
Abstract
Swagger and OpenAPI revolutionized the API landscape and created a thriving ecosystem of developer tools, from IDEs to contract testing and no-code solutions. In our projects (WireMock, Jenkins, Testcontainers and WireMock Cloud) we adopted OpenAPI to provide a great developer, and achieved great results. At the same time, the v3 version of specification has too many limitations, especially when it comes to behavior modeling: limited extensions framework, poor response flexibility limiting complex API options, and weak examples and self documentation capabilities. Good news is that OpenAPI v4 (Project Moonwalk) addresses many of those concerns and, hopefully, could address others before the release. Let’s, wearing our end user hats, discuss the v3 experiences and how we could address them in the upcoming major release!
Resources
- Gradle in not only a build tool
- Developer Productivity Engineering
- The Unix Way
- OpenAPI Overview
- Full OpenAPI Spec
- OpenAPI learning portal
- OpenAPI Tooling Ecosystem
- Participate in OpenAPI!
- OpenAPI in Develocity
- OpenAPI Generator
- OpenAPI Extensions Spec
- No YAML!
- OpenAPI Spec Issues
- Project Moonwalk Announcement
- Project Moonwalk Repository
- Project Moonwalk Extension Registry