An integration with OpenAPI and its tooling has a lot to offer Solr. Once generated, an OpenAPI specification can be used to:
- generate clients for multiple programming languages
- power a web UI to document and help users craft API calls (e.g. redoc
- detect breaking API changes across releases.
Of course, these benefits are only useful if we take pains to document our API inputs and outputs (probably with annotations that live directly in our Java code). But I think there's enough upside to be worth that trouble.
This ticket aims to cover integrating OpenAPI into our gradle build, so that a single task can be used to generate an OpenAPI spec. - (It might also make sense to use this ticket to cover generating client bindings for one or more languages.)-