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

   # Description
   
   Currently, v2 APIs are defined using a "homegrown" annotation-based 
framework.  Generally speaking, this works well.  But there are a few downsides:
   
   1. The Solr community must maintain our API framework, in addition to the 
APIs themselves.
   2. Our framework is less feature-rich than some off-the-shelf alternatives.
   3. Our framework lacks the integrations and tooling that some off-the-shelf 
alternatives offer, such as the OpenAPI support offered by libraries like 
`swagger-core`.
   
   # Solution
   
   This draft PR adds a Jersey integration to Solr.  v2 APIs can now be defined 
using standard JAX-RS annotations.  These APIs are then looked up and executed 
using the Jersey "ApplicationHandler" class.  (This class serves as a 
near-parallel to the existing v2 framework's `ApiBag` abstraction.)
   
   The draft PR currently supports:
   
   - loading of both "admin"/core-container APIs, as well as 
core/collection-level APIs.
   - use of Solr authentication/authorization plugins (using Jersey's 
ContainerRequestFilter interface)
   - API responses in JSON and (experimentally) javabin.
   
   An example v2 API (ListConfigSetsAPI) has also been converted to JAX-RS to 
serve as an example.
   
   The functionality offered in this PR is by no means complete.  It's intended 
only to serve as a starting point and show the overall shape and complexity of 
a potential integration. 
   
   # Tests
   
   N/A - not fully tested.
   
   # 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