[ 
https://issues.apache.org/jira/browse/SOLR-16396?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jason Gerlowski updated SOLR-16396:
-----------------------------------
    Description: 
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 config (read 
and write/overlay) and configset CRUD APIs, as described in the spreadsheet 
above.  For convenience and easier tracking, the APIs are also summarized in 
the table below:

*Cosmetic Changes and JAX-RS Conversion*

||API Name||Original Form||Desired Form||Status||Volunteer||
|List Paramsets|GET /api/collections/collName/config/params|GET 
/api/collections/collName/config/paramsets|Open|N/A|
|Get Single Paramset|GET 
/api/collections/collName/config/params/paramSetName|GET 
/api/collections/collName/config/paramsets/paramSetName|Open|N/A|
|List Request Handlers|GET /api/collections/collName/config/requesthandler|GET 
/api/collections/collName/config/requesthandlers|Open|N/A|
|Create Request Handler|POST /api/collections/collName/config 
\{"add-requesthandler": \{...\}\}|PUT 
/api/collections/collName/config/requestHandlers/rhPath \{...\}|Open|N/A|
|Update Request Handler|POST /api/collections/collName/config 
\{"update-requesthandler": \{...\}\}|PUT 
/api/collections/collName/config/requestHandlers/rhPath \{...\}|Open|N/A|
|Delete Request Handler|POST /api/collections/collName/config 
\{"delete-requesthandler": \{...\}\}|DELETE 
/api/collections/collName/config/requestHandlers/rhPath|Open|N/A|
|List Search Components|GET 
/api/collections/collName/config/searchcomponent|GET 
/api/collections/collName/config/searchcomponents|Open|N/A|
|Create Search Component|POST /api/collections/collName/config 
\{"add-searchcomponent": \{...\}\}|PUT 
/api/collections/collName/config/searchcomponents/scName \{...\}|Open|N/A|
|Update Search Component|POST /api/collections/collName/config 
\{"update-searchcomponent": \{...\}\}|PUT 
/api/collections/collName/config/searchcomponents/scName \{...\}|Open|N/A|
|Delete Request Handler|POST /api/collections/collName/config 
\{"delete-searchcomponent": \{...\}\}|DELETE 
/api/collections/collName/config/searchcomponents/scName|Open|N/A|
|List Query Response Writers|GET 
/api/collections/collName/config/queryresponsewriter|GET 
/api/collections/collName/config/queryresponsewriters|Open|N/A|
|Create Query Response Writer|POST /api/collections/collName/config 
\{"add-queryresponsewriter": \{...\}\}|PUT 
/api/collections/collName/config/queryresponsewriters/responseWriterName 
\{...\}|Open|N/A|
|Delete Query Response Writer|POST /api/collections/collName/config 
\{"delete-queryresponsewriter": \{...\}\}|DELETE 
/api/collections/collName/config/queryresponsewriters/responseWriterName|Open|N/A|
|Create Init Params|POST /api/collections/collName/config \{"add-initparams": 
\{...\}\}|PUT /api/collections/collName/config/initParams/initParamName 
\{...\}|Open|N/A|
|Update Init Params|POST /api/collections/collName/config 
\{"update-initparams": \{...\}\}|PUT 
/api/collections/collName/config/initParams/initParamName \{...\}|Open|N/A|
|Delete Init Params|POST /api/collections/collName/config 
\{"delete-initparams": \{...\}\}|DELETE 
/api/collections/collName/config/initParams/initParamName|Open|N/A|
|List Listeners|GET /api/collections/collName/config/listener|GET 
/api/collections/collName/config/listeners|Open|N/A|
|Create Listener|POST /api/collections/collName/config \{"add-listener": 
\{...\}\}|PUT /api/collections/collName/config/listeners/listenerName 
\{...\}|Open|N/A|
|Update Listener|POST /api/collections/collName/config \{"update-listener": 
\{...\}\}|PUT /api/collections/collName/config/listeners/listenerName 
\{...\}|Open|N/A|
|Delete Listener|POST /api/collections/collName/config \{"delete-listener": 
\{...\}\}|DELETE 
/api/collections/collName/config/listeners/listenerName|Open|N/A|
|Create Query Parser|POST /api/collections/collName/config \{"add-queryparser": 
\{...\}\}|PUT /api/collections/collName/config/queryparsers/queryParserName 
\{...\}|Open|N/A|
|Update Query Parser|POST /api/collections/collName/config 
\{"update-queryparser": \{...\}\}|PUT 
/api/collections/collName/config/queryparsers/queryParserName \{...\}|Open|N/A|
|Delete Query Parser|POST /api/collections/collName/config 
\{"delete-queryparser": \{...\}\}|DELETE 
/api/collections/collName/config/queryparsers/queryParserName|Open|N/A|
|Create Common Property|POST /api/collections/collName/config \{"set-property": 
\{"propName": "propValue"\}\}|PUT 
/api/collections/collName/config/properties/propertyName \{"value": 
"propVal"\}|Open|N/A|
|Delete Common Property|POST /api/collections/collName/config 
\{"unset-property": "propName"\}|DELETE 
/api/collections/collName/config/properties/propertyName|Open|N/A|
|Set User Property|POST /api/collections/collName/config \{"set-user-property": 
\{"propName": "val"\}\}|PUT 
/api/collections/collName/config/userproperties/propertyName \{"value": 
"propVal"\}|Open|N/A|
|Delete User Property|POST /api/collections/collName/config 
\{"unset-user-property": "propName"\}|DELETE 
/api/collections/collName/config/userproperties/propertyName|Open|N/A|
|Create Value Source Parser|POST /api/collections/collName/config 
\{"add-valuesourceparser": \{...\}\}|PUT 
/api/collections/collName/config/valueSourceParser/vspName \{...\}|Open|N/A|
|Update Value Source Parser|POST /api/collections/collName/config 
\{"update-valuesourceparser": \{...\}\}|PUT 
/api/collections/collName/config/valueSourceParser/vspName \{...\}|Open|N/A|
|Delete Value Source Parser|POST /api/collections/collName/config 
\{"delete-valuesourceparser": \{...\}\}|DELETE 
/api/collections/collName/config/valueSourceParser/vspName|Open|N/A|
|Create Transformer|POST /api/collections/collName/config \{"add-transformer": 
\{...\}\}|PUT /api/collections/collName/config/transformers/transformerName 
\{...\}|Open|N/A|
|Update Transformer|POST /api/collections/collName/config 
\{"update-transformer": \{...\}\}|PUT 
/api/collections/collName/config/transformers/transformerName \{...\}|Open|N/A|
|Delete Transformer|POST /api/collections/collName/config 
\{"delete-transformer": \{...\}\}|DELETE 
/api/collections/collName/config/transformers/transformerName|Open|N/A|
|Create Update-Processor|POST /api/collections/collName/config 
\{"add-updateprocessor": \{...\}\}|PUT 
/api/collections/collName/config/updateProcessors/updateProcessorName 
\{...\}|Open|N/A|
|Update Update-Processor|POST /api/collections/collName/config 
\{"update-updateprocessor": \{...\}\}|PUT 
/api/collections/collName/config/updateProcessors/updateProcessorName 
\{...\}|Open|N/A|
|Delete Update-Processor|POST /api/collections/collName/config 
\{"delete-updateprocessor": \{...\}\}|DELETE 
/api/collections/collName/config/updateProcessors/updateProcessorName|Open|N/A|
|Create Query Converter|POST /api/collections/collName/config 
\{"add-queryconverter": \{...\}\}|PUT 
/api/collections/collName/config/queryconverters/queryConverterName 
\{...\}|Open|N/A|
|Update Query Converter|POST /api/collections/collName/config 
\{"update-queryconverter": \{...\}\}|PUT 
/api/collections/collName/config/queryconverters/queryConverterName 
\{...\}|Open|N/A|
|Delete Query Converter|POST /api/collections/collName/config 
\{"delete-queryconverter": \{...\}\}|DELETE 
/api/collections/collName/config/queryconverters/queryConverterName|Open|N/A|
|Create Expressible|POST /api/collections/collName/config \{"add-expressible": 
\{...\}\}|PUT /api/collections/collName/config/expressibles/expressibleName 
\{...\}|Open|N/A|
|Update Expressible|POST /api/collections/collName/config 
\{"update-expressible": \{...\}\}|PUT 
/api/collections/collName/config/expressibles/expressibleName \{...\}|Open|N/A|
|Delete Expressible|POST /api/collections/collName/config 
\{"delete-expressible": \{...\}\}|DELETE 
/api/collections/collName/config/expressibles/expressibleName|Open|N/A|

*Only Cosmetic Changes (i.e. already JAX-RS)*

||API Name||Original Form||Desired Form||Status||Volunteer||
|List Configsets|GET /api/cluster/configs|GET /api/configsets|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://github.com/apache/solr/blob/main/dev-docs/apis.adoc#writing-jax-rs-apis]
 using the JAX-RS v2 API framework

  was:
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 config (read 
and write/overlay) and configset CRUD APIs, as described in the spreadsheet 
above.  For convenience and easier tracking, the APIs are also summarized in 
the table below:

*Cosmetic Changes and JAX-RS Conversion*

||API Name||Original Form||Desired Form||Status||Volunteer||
|List Paramsets|GET /api/collections/collName/config/params|GET 
/api/collections/collName/config/paramsets|Open|N/A|
|Get Single Paramset|GET 
/api/collections/collName/config/params/paramSetName|GET 
/api/collections/collName/config/paramsets/paramSetName|Open|N/A|
|List Request Handlers|GET /api/collections/collName/config/requesthandler|GET 
/api/collections/collName/config/requesthandlers|Open|N/A|
|Create Request Handler|POST /api/collections/collName/config 
\{"add-requesthandler": \{...\}\}|PUT 
/api/collections/collName/config/requestHandlers/rhPath \{...\}|Open|N/A|
|Update Request Handler|POST /api/collections/collName/config 
\{"update-requesthandler": \{...\}\}|PUT 
/api/collections/collName/config/requestHandlers/rhPath \{...\}|Open|N/A|
|Delete Request Handler|POST /api/collections/collName/config 
\{"delete-requesthandler": \{...\}\}|DELETE 
/api/collections/collName/config/requestHandlers/rhPath|Open|N/A|
|List Search Components|GET 
/api/collections/collName/config/searchcomponent|GET 
/api/collections/collName/config/searchcomponents|Open|N/A|
|Create Search Component|POST /api/collections/collName/config 
\{"add-searchcomponent": \{...\}\}|PUT 
/api/collections/collName/config/searchcomponents/scName \{...\}|Open|N/A|
|Update Search Component|POST /api/collections/collName/config 
\{"update-searchcomponent": \{...\}\}|PUT 
/api/collections/collName/config/searchcomponents/scName \{...\}|Open|N/A|
|Delete Request Handler|POST /api/collections/collName/config 
\{"delete-searchcomponent": \{...\}\}|DELETE 
/api/collections/collName/config/searchcomponents/scName|Open|N/A|
|List Query Response Writers|GET 
/api/collections/collName/config/queryresponsewriter|GET 
/api/collections/collName/config/queryresponsewriters|Open|N/A|
|Create Query Response Writer|POST /api/collections/collName/config 
\{"add-queryresponsewriter": \{...\}\}|PUT 
/api/collections/collName/config/queryresponsewriters/responseWriterName 
\{...\}|Open|N/A|
|Delete Query Response Writer|POST /api/collections/collName/config 
\{"delete-queryresponsewriter": \{...\}\}|DELETE 
/api/collections/collName/config/queryresponsewriters/responseWriterName|Open|N/A|
|Create Init Params|POST /api/collections/collName/config \{"add-initparams": 
\{...\}\}|PUT /api/collections/collName/config/initParams/initParamName 
\{...\}|Open|N/A|
|Update Init Params|POST /api/collections/collName/config 
\{"update-initparams": \{...\}\}|PUT 
/api/collections/collName/config/initParams/initParamName \{...\}|Open|N/A|
|Delete Init Params|POST /api/collections/collName/config 
\{"delete-initparams": \{...\}\}|DELETE 
/api/collections/collName/config/initParams/initParamName|Open|N/A|
|List Listeners|GET /api/collections/collName/config/listener|GET 
/api/collections/collName/config/listeners|Open|N/A|
|Create Listener|POST /api/collections/collName/config \{"add-listener": 
\{...\}\}|PUT /api/collections/collName/config/listeners/listenerName 
\{...\}|Open|N/A|
|Update Listener|POST /api/collections/collName/config \{"update-listener": 
\{...\}\}|PUT /api/collections/collName/config/listeners/listenerName 
\{...\}|Open|N/A|
|Delete Listener|POST /api/collections/collName/config \{"delete-listener": 
\{...\}\}|DELETE 
/api/collections/collName/config/listeners/listenerName|Open|N/A|
|Create Query Parser|POST /api/collections/collName/config \{"add-queryparser": 
\{...\}\}|PUT /api/collections/collName/config/queryparsers/queryParserName 
\{...\}|Open|N/A|
|Update Query Parser|POST /api/collections/collName/config 
\{"update-queryparser": \{...\}\}|PUT 
/api/collections/collName/config/queryparsers/queryParserName \{...\}|Open|N/A|
|Delete Query Parser|POST /api/collections/collName/config 
\{"delete-queryparser": \{...\}\}|DELETE 
/api/collections/collName/config/queryparsers/queryParserName|Open|N/A|
|Create Common Property|POST /api/collections/collName/config \{"set-property": 
\{"propName": "propValue"\}\}|PUT 
/api/collections/collName/config/properties/propertyName \{"value": 
"propVal"\}|Open|N/A|
|Delete Common Property|POST /api/collections/collName/config 
\{"unset-property": "propName"\}|DELETE 
/api/collections/collName/config/properties/propertyName|Open|N/A|
|Set User Property|POST /api/collections/collName/config \{"set-user-property": 
\{"propName": "val"\}\}|PUT 
/api/collections/collName/config/userproperties/propertyName \{"value": 
"propVal"\}|Open|N/A|
|Delete User Property|POST /api/collections/collName/config 
\{"unset-user-property": "propName"\}|DELETE 
/api/collections/collName/config/userproperties/propertyName|Open|N/A|
|Create Value Source Parser|POST /api/collections/collName/config 
\{"add-valuesourceparser": \{...\}\}|PUT 
/api/collections/collName/config/valueSourceParser/vspName \{...\}|Open|N/A|
|Update Value Source Parser|POST /api/collections/collName/config 
\{"update-valuesourceparser": \{...\}\}|PUT 
/api/collections/collName/config/valueSourceParser/vspName \{...\}|Open|N/A|
|Delete Value Source Parser|POST /api/collections/collName/config 
\{"delete-valuesourceparser": \{...\}\}|DELETE 
/api/collections/collName/config/valueSourceParser/vspName|Open|N/A|
|Create Transformer|POST /api/collections/collName/config \{"add-transformer": 
\{...\}\}|PUT /api/collections/collName/config/transformers/transformerName 
\{...\}|Open|N/A|
|Update Transformer|POST /api/collections/collName/config 
\{"update-transformer": \{...\}\}|PUT 
/api/collections/collName/config/transformers/transformerName \{...\}|Open|N/A|
|Delete Transformer|POST /api/collections/collName/config 
\{"delete-transformer": \{...\}\}|DELETE 
/api/collections/collName/config/transformers/transformerName|Open|N/A|
|Create Update-Processor|POST /api/collections/collName/config 
\{"add-updateprocessor": \{...\}\}|PUT 
/api/collections/collName/config/updateProcessors/updateProcessorName 
\{...\}|Open|N/A|
|Update Update-Processor|POST /api/collections/collName/config 
\{"update-updateprocessor": \{...\}\}|PUT 
/api/collections/collName/config/updateProcessors/updateProcessorName 
\{...\}|Open|N/A|
|Delete Update-Processor|POST /api/collections/collName/config 
\{"delete-updateprocessor": \{...\}\}|DELETE 
/api/collections/collName/config/updateProcessors/updateProcessorName|Open|N/A|
|Create Query Converter|POST /api/collections/collName/config 
\{"add-queryconverter": \{...\}\}|PUT 
/api/collections/collName/config/queryconverters/queryConverterName 
\{...\}|Open|N/A|
|Update Query Converter|POST /api/collections/collName/config 
\{"update-queryconverter": \{...\}\}|PUT 
/api/collections/collName/config/queryconverters/queryConverterName 
\{...\}|Open|N/A|
|Delete Query Converter|POST /api/collections/collName/config 
\{"delete-queryconverter": \{...\}\}|DELETE 
/api/collections/collName/config/queryconverters/queryConverterName|Open|N/A|
|Create Expressible|POST /api/collections/collName/config \{"add-expressible": 
\{...\}\}|PUT /api/collections/collName/config/expressibles/expressibleName 
\{...\}|Open|N/A|
|Update Expressible|POST /api/collections/collName/config 
\{"update-expressible": \{...\}\}|PUT 
/api/collections/collName/config/expressibles/expressibleName \{...\}|Open|N/A|
|Delete Expressible|POST /api/collections/collName/config 
\{"delete-expressible": \{...\}\}|DELETE 
/api/collections/collName/config/expressibles/expressibleName|Open|N/A|

*Only Cosmetic Changes (i.e. already JAX-RS*

||API Name||Original Form||Desired Form||Status||Volunteer||
|List Configsets|GET /api/cluster/configs|GET /api/configsets|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://github.com/apache/solr/blob/main/dev-docs/apis.adoc#writing-jax-rs-apis]
 using the JAX-RS v2 API framework


> Cosmetic improvements and migration to JAX-RS (config, configset APIs)
> ----------------------------------------------------------------------
>
>                 Key: SOLR-16396
>                 URL: https://issues.apache.org/jira/browse/SOLR-16396
>             Project: Solr
>          Issue Type: Sub-task
>          Components: v2 API
>    Affects Versions: main (10.0)
>            Reporter: Jason Gerlowski
>            Priority: Major
>              Labels: newdev
>
> 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 config 
> (read and write/overlay) and configset CRUD APIs, as described in the 
> spreadsheet above.  For convenience and easier tracking, the APIs are also 
> summarized in the table below:
> *Cosmetic Changes and JAX-RS Conversion*
> ||API Name||Original Form||Desired Form||Status||Volunteer||
> |List Paramsets|GET /api/collections/collName/config/params|GET 
> /api/collections/collName/config/paramsets|Open|N/A|
> |Get Single Paramset|GET 
> /api/collections/collName/config/params/paramSetName|GET 
> /api/collections/collName/config/paramsets/paramSetName|Open|N/A|
> |List Request Handlers|GET 
> /api/collections/collName/config/requesthandler|GET 
> /api/collections/collName/config/requesthandlers|Open|N/A|
> |Create Request Handler|POST /api/collections/collName/config 
> \{"add-requesthandler": \{...\}\}|PUT 
> /api/collections/collName/config/requestHandlers/rhPath \{...\}|Open|N/A|
> |Update Request Handler|POST /api/collections/collName/config 
> \{"update-requesthandler": \{...\}\}|PUT 
> /api/collections/collName/config/requestHandlers/rhPath \{...\}|Open|N/A|
> |Delete Request Handler|POST /api/collections/collName/config 
> \{"delete-requesthandler": \{...\}\}|DELETE 
> /api/collections/collName/config/requestHandlers/rhPath|Open|N/A|
> |List Search Components|GET 
> /api/collections/collName/config/searchcomponent|GET 
> /api/collections/collName/config/searchcomponents|Open|N/A|
> |Create Search Component|POST /api/collections/collName/config 
> \{"add-searchcomponent": \{...\}\}|PUT 
> /api/collections/collName/config/searchcomponents/scName \{...\}|Open|N/A|
> |Update Search Component|POST /api/collections/collName/config 
> \{"update-searchcomponent": \{...\}\}|PUT 
> /api/collections/collName/config/searchcomponents/scName \{...\}|Open|N/A|
> |Delete Request Handler|POST /api/collections/collName/config 
> \{"delete-searchcomponent": \{...\}\}|DELETE 
> /api/collections/collName/config/searchcomponents/scName|Open|N/A|
> |List Query Response Writers|GET 
> /api/collections/collName/config/queryresponsewriter|GET 
> /api/collections/collName/config/queryresponsewriters|Open|N/A|
> |Create Query Response Writer|POST /api/collections/collName/config 
> \{"add-queryresponsewriter": \{...\}\}|PUT 
> /api/collections/collName/config/queryresponsewriters/responseWriterName 
> \{...\}|Open|N/A|
> |Delete Query Response Writer|POST /api/collections/collName/config 
> \{"delete-queryresponsewriter": \{...\}\}|DELETE 
> /api/collections/collName/config/queryresponsewriters/responseWriterName|Open|N/A|
> |Create Init Params|POST /api/collections/collName/config \{"add-initparams": 
> \{...\}\}|PUT /api/collections/collName/config/initParams/initParamName 
> \{...\}|Open|N/A|
> |Update Init Params|POST /api/collections/collName/config 
> \{"update-initparams": \{...\}\}|PUT 
> /api/collections/collName/config/initParams/initParamName \{...\}|Open|N/A|
> |Delete Init Params|POST /api/collections/collName/config 
> \{"delete-initparams": \{...\}\}|DELETE 
> /api/collections/collName/config/initParams/initParamName|Open|N/A|
> |List Listeners|GET /api/collections/collName/config/listener|GET 
> /api/collections/collName/config/listeners|Open|N/A|
> |Create Listener|POST /api/collections/collName/config \{"add-listener": 
> \{...\}\}|PUT /api/collections/collName/config/listeners/listenerName 
> \{...\}|Open|N/A|
> |Update Listener|POST /api/collections/collName/config \{"update-listener": 
> \{...\}\}|PUT /api/collections/collName/config/listeners/listenerName 
> \{...\}|Open|N/A|
> |Delete Listener|POST /api/collections/collName/config \{"delete-listener": 
> \{...\}\}|DELETE 
> /api/collections/collName/config/listeners/listenerName|Open|N/A|
> |Create Query Parser|POST /api/collections/collName/config 
> \{"add-queryparser": \{...\}\}|PUT 
> /api/collections/collName/config/queryparsers/queryParserName 
> \{...\}|Open|N/A|
> |Update Query Parser|POST /api/collections/collName/config 
> \{"update-queryparser": \{...\}\}|PUT 
> /api/collections/collName/config/queryparsers/queryParserName 
> \{...\}|Open|N/A|
> |Delete Query Parser|POST /api/collections/collName/config 
> \{"delete-queryparser": \{...\}\}|DELETE 
> /api/collections/collName/config/queryparsers/queryParserName|Open|N/A|
> |Create Common Property|POST /api/collections/collName/config 
> \{"set-property": \{"propName": "propValue"\}\}|PUT 
> /api/collections/collName/config/properties/propertyName \{"value": 
> "propVal"\}|Open|N/A|
> |Delete Common Property|POST /api/collections/collName/config 
> \{"unset-property": "propName"\}|DELETE 
> /api/collections/collName/config/properties/propertyName|Open|N/A|
> |Set User Property|POST /api/collections/collName/config 
> \{"set-user-property": \{"propName": "val"\}\}|PUT 
> /api/collections/collName/config/userproperties/propertyName \{"value": 
> "propVal"\}|Open|N/A|
> |Delete User Property|POST /api/collections/collName/config 
> \{"unset-user-property": "propName"\}|DELETE 
> /api/collections/collName/config/userproperties/propertyName|Open|N/A|
> |Create Value Source Parser|POST /api/collections/collName/config 
> \{"add-valuesourceparser": \{...\}\}|PUT 
> /api/collections/collName/config/valueSourceParser/vspName \{...\}|Open|N/A|
> |Update Value Source Parser|POST /api/collections/collName/config 
> \{"update-valuesourceparser": \{...\}\}|PUT 
> /api/collections/collName/config/valueSourceParser/vspName \{...\}|Open|N/A|
> |Delete Value Source Parser|POST /api/collections/collName/config 
> \{"delete-valuesourceparser": \{...\}\}|DELETE 
> /api/collections/collName/config/valueSourceParser/vspName|Open|N/A|
> |Create Transformer|POST /api/collections/collName/config 
> \{"add-transformer": \{...\}\}|PUT 
> /api/collections/collName/config/transformers/transformerName 
> \{...\}|Open|N/A|
> |Update Transformer|POST /api/collections/collName/config 
> \{"update-transformer": \{...\}\}|PUT 
> /api/collections/collName/config/transformers/transformerName 
> \{...\}|Open|N/A|
> |Delete Transformer|POST /api/collections/collName/config 
> \{"delete-transformer": \{...\}\}|DELETE 
> /api/collections/collName/config/transformers/transformerName|Open|N/A|
> |Create Update-Processor|POST /api/collections/collName/config 
> \{"add-updateprocessor": \{...\}\}|PUT 
> /api/collections/collName/config/updateProcessors/updateProcessorName 
> \{...\}|Open|N/A|
> |Update Update-Processor|POST /api/collections/collName/config 
> \{"update-updateprocessor": \{...\}\}|PUT 
> /api/collections/collName/config/updateProcessors/updateProcessorName 
> \{...\}|Open|N/A|
> |Delete Update-Processor|POST /api/collections/collName/config 
> \{"delete-updateprocessor": \{...\}\}|DELETE 
> /api/collections/collName/config/updateProcessors/updateProcessorName|Open|N/A|
> |Create Query Converter|POST /api/collections/collName/config 
> \{"add-queryconverter": \{...\}\}|PUT 
> /api/collections/collName/config/queryconverters/queryConverterName 
> \{...\}|Open|N/A|
> |Update Query Converter|POST /api/collections/collName/config 
> \{"update-queryconverter": \{...\}\}|PUT 
> /api/collections/collName/config/queryconverters/queryConverterName 
> \{...\}|Open|N/A|
> |Delete Query Converter|POST /api/collections/collName/config 
> \{"delete-queryconverter": \{...\}\}|DELETE 
> /api/collections/collName/config/queryconverters/queryConverterName|Open|N/A|
> |Create Expressible|POST /api/collections/collName/config 
> \{"add-expressible": \{...\}\}|PUT 
> /api/collections/collName/config/expressibles/expressibleName 
> \{...\}|Open|N/A|
> |Update Expressible|POST /api/collections/collName/config 
> \{"update-expressible": \{...\}\}|PUT 
> /api/collections/collName/config/expressibles/expressibleName 
> \{...\}|Open|N/A|
> |Delete Expressible|POST /api/collections/collName/config 
> \{"delete-expressible": \{...\}\}|DELETE 
> /api/collections/collName/config/expressibles/expressibleName|Open|N/A|
> *Only Cosmetic Changes (i.e. already JAX-RS)*
> ||API Name||Original Form||Desired Form||Status||Volunteer||
> |List Configsets|GET /api/cluster/configs|GET /api/configsets|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://github.com/apache/solr/blob/main/dev-docs/apis.adoc#writing-jax-rs-apis]
>  using the JAX-RS v2 API framework



--
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