gerlowskija opened a new pull request, #976:
URL: https://github.com/apache/solr/pull/976

   # Description
   
   OpenAPI, and its suite of surrounding tooling, has much to offer web service 
maintainers.  An OpenAPI spec can be used to generate clients in a number of 
different languages, generate web UIs for exploring and sending API requests, 
and can even be used to detect API backcompat breakages across releases.
   
   None of this is possible in Solr today, because we have no build-level 
integration with OpenAPI tooling and no way to generate an OpenAPI spec from 
our APIs.
   
   # Solution
   
   This draft PR adds several gradle tasks to allow us to generate and use an 
OpenAPI spec:
   
   - `./gradlew --info :solr:core:resolve` generates an OpenAPI spec
   - `./gradlew :solr:core:openApiGenerate` generates a Python client to use 
the APIs detailed in the API spec.
   
   In order to give the OpenAPI tooling something to generate a spec from, this 
PR also adds various annotations to one of our v2 APIs (NodeLoggingAPI), to 
tell the OpenAPI in explicit terms what the inputs and outputs of the API are.  
Admittedly, these annotations get a bit messy.  On the bright side though, many 
off-the-shelf API frameworks (e.g. JAX-RS/Jersey) can tell OpenAPI this 
information implicitly; adopting a different API framework would smooth our 
adoption of OpenAPI considerably.
   
   # Tests
   
   N/A
   
   # Checklist
   
   Please review the following and check all that apply:
   
   - [x] I have reviewed the guidelines for [How to 
Contribute](https://wiki.apache.org/solr/HowToContribute) and my code conforms 
to the standards described there to the best of my ability.
   - [ ] I have created a Jira issue and added the issue ID to my pull request 
title.
   - [x] I have given Solr maintainers 
[access](https://help.github.com/en/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork)
 to contribute to my PR branch. (optional but recommended)
   - [x] I have developed this patch against the `main` branch.
   - [] I have run `./gradlew check`.
   - [ ] I have added tests for my changes.
   - [ ] I have added documentation for the [Reference 
Guide](https://github.com/apache/solr/tree/main/solr/solr-ref-guide)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org
For additional commands, e-mail: issues-h...@solr.apache.org

Reply via email to