[ 
https://issues.apache.org/jira/browse/SOLR-16395?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17737854#comment-17737854
 ] 

ASF subversion and git services commented on SOLR-16395:
--------------------------------------------------------

Commit 968504d0818b30e162e4c420908438bbdf311760 in solr's branch 
refs/heads/branch_9x from bszabo97
[ https://gitbox.apache.org/repos/asf?p=solr.git;h=968504d0818 ]

SOLR-16395 JAX-RS conversion for remaining GET /schema/* endpoints (#1682)

Migrates several v2 `GET /schema` APIs from the legacy annotation framework
to JAX-RS, including:
    - `/zkversion` - lookup the version of the schema in ZK
    - `/schema/fields` - list the (non-dynamic) fields in the schema
    - `/schema/fields/fName` - information about a particular (non-dynamic)
       field in the schema
    - `/schema/dynamicfields` - list the (dynamic) fields in the schema
    - `/schema/dynamicfields/fName` - information about a particular (dynamic)
       field in the schema
    - `/schema/fieldtypes` - list the field types in the schema
    - `/schema/fieldtypes/tName` - information about a particular fieldtype in
        the schema
    - `/schema/copyfields` - list the copyfields in the schema

    
This change doesn't modify the APIs themselves, so users should remain 
unaffected.

> Cosmetic improvements and migration to JAX-RS (schema APIs)
> -----------------------------------------------------------
>
>                 Key: SOLR-16395
>                 URL: https://issues.apache.org/jira/browse/SOLR-16395
>             Project: Solr
>          Issue Type: Sub-task
>          Components: v2 API
>    Affects Versions: main (10.0)
>            Reporter: Jason Gerlowski
>            Priority: Major
>              Labels: newdev
>          Time Spent: 3h 50m
>  Remaining Estimate: 0h
>
> As mentioned on SOLR-15781, the v2 API currently has an experimental 
> designation, and the community has expressed an interest in using this period 
> to update our v2 endpoints to be more REST-ful and consistent.  The current 
> plan is to follow the specific changes laid out in [this 
> spreadsheet|https://docs.google.com/spreadsheets/d/1HAoBBFPpSiT8mJmgNZKkZAPwfCfPvlc08m5jz3fQBpA/edit?usp=sharing],
>  though of course nothing there is set in stone and there are still warts to 
> be worked out.
> While we're touching the code for these endpoints, we should also convert 
> them to JAX-RS framework definitions.  (This was initially tracked as a 
> separate effort - see SOLR-16370 - but the edit that were required ended up 
> overlapping so significantly with the "cosmetic" improvements here that in 
> practice it almost always makes sense to do the two together.)
> This ticket plans to tackle making the changes required for Solr's schema 
> read and collection-overlay APIs, as described in the spreadsheet above.  For 
> convenience and ease of tracking, these are also summarized in the table(s) 
> below:
> *Cosmetic Changes and JAX-RS Conversion*
> ||API Name||Original Form||Desired Form||Status||Volunteer||
> |Create Field|POST /api/collections/collName/schema \{"add-field": 
> \{...\}\}|PUT /api/collections/collName/schema/fields/fieldName 
> \{...\}|Open|N/A|
> |Update Field|POST /api/collections/collName/schema \{"replace-field": 
> \{...\}\}|PUT /api/collections/collName/schema/fields/fieldName 
> \{...\}|Open|N/A|
> |Delete Field|POST /api/collections/collName/schema \{"delete-field": 
> \{...\}\}|DELETE /api/collections/collName/schema/fields/fieldName|Open|N/A|
> |Create Dynamic Field|POST /api/collections/collName/schema 
> \{"add-dynamic-field": \{...\}\}|PUT 
> /api/collections/collName/schema/dynamicfields/fieldName \{...\}|Open|N/A|
> |Update Dynamic Field|POST /api/collections/collName/schema 
> \{"replace-dynamic-field": \{...\}\}|PUT 
> /api/collections/collName/schema/dynamicfields/fieldName \{...\}|Open|N/A|
> |Delete Dynamic Field|POST /api/collections/collName/schema 
> \{"delete-dynamic-field": \{...\}\}|DELETE 
> /api/collections/collName/schema/dynamicfields/fieldName|Open|N/A|
> |Create Field Type|POST /api/collections/collName/schema \{"add-field-type": 
> \{...\}\}|PUT /api/collections/collName/schema/fieldtypes/fieldTypeName 
> \{...\}|Open|N/A|
> |Update Field Type|POST /api/collections/collName/schema 
> \{"replace-field-type": \{...\}\}|PUT 
> /api/collections/collName/schema/fieldtypes/fieldTypeName \{...\}|Open|N/A|
> |Delete Field Type|POST /api/collections/collName/schema 
> \{"delete-field-type": \{...\}\}|DELETE 
> /api/collections/collName/schema/fieldTypes/fieldTypeName|Open|N/A|
> |Add Copy-field|POST /api/collections/collName/schema \{"add-copy-field": 
> \{...\}\}|PUT /api/collections/collName/schema/copyfields/copyFieldName 
> \{...\}|Open|N/A|
> |Delete Copy-field|POST /api/collections/collName/schema 
> \{"delete-copy-field": \{...\}\}|DELETE 
> /api/collections/collName/schema/copyfields/copyFieldName|Open|N/A|
> |Bulk Schema Operations|POST /api/collections/collName/schema \{"add-field": 
> \{...\}, "add-field": \{...\}\}|POST /api/collections/collName/schema/bulk 
> [\{...\}, \{...\}]|Open|N/A|
> *JAX-RS Conversion Only*
> ||API Name||Endpoint Format||Status||Volunteer||
> |-Get Entire Schema-|-GET /api/collections/collName/schema-|-Finished-|-Bence 
> Szabo-|
> |-Get Schema UniqueKey-|-GET 
> /api/collections/collName/schema/uniquekey-|-Finished-|-Bence Szabo-|
> |-Get Schema Version-|-GET 
> /api/collections/collName/schema/version-|-Finished-|-Bence Szabo-|
> |-Get Schema Similarity-|-GET 
> /api/collections/collName/schema/similarity-|-Finished-|-Bence Szabo-|
> |Get Schema ZkVersion|-GET 
> /api/collections/collName/schema/zkversion|Open|N/A|
> |List All (Non-dynamic) Fields|GET 
> /api/collections/collName/schema/fields|Open|N/A|
> |Get Single (Non-dynamic) Field|GET 
> /api/collections/collName/schema/fields/fieldName|Open|N/A|
> |List Copyfields|GET /api/collections/collName/schema/copyfields|Open|N/A|
> |List All (Dynamic) Fields|GET 
> /api/collections/collName/schema/dynamicfields|Open|N/A|
> |Get Single (Dynamic) Field|GET 
> /api/collections/collName/schema/dynamicfields/fieldName|Open|N/A|
> |List All FieldTypes|GET /api/collections/collName/schema/fieldtypes|Open|N/A|
> |Get Single Fieldtype|GET 
> /api/collections/collName/schema/fieldtypes/fieldTypeName|Open|N/A|
> Some helpful links related to these changes these changes. Should help get 
> any interested newcomers started! 
> * For detailed information on Solr's current and desired v2 APIs see the 
> spreadsheet 
> [here|https://docs.google.com/spreadsheets/d/1HAoBBFPpSiT8mJmgNZKkZAPwfCfPvlc08m5jz3fQBpA/edit?usp=sharing]
> * [Discussion of how APIs work in Solr 
> (video)|https://www.youtube.com/watch?v=iIpvfXBjDog]
> * [Step-by-step guide to creating 
> APIs|https://issues.apache.org/jira/browse/SOLR-15737?focusedCommentId=17617923&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-17617923]
>  using the JAX-RS v2 API framework
> * [Example PR for a similar change|https://github.com/apache/solr/pull/1679]



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to