[ https://issues.apache.org/jira/browse/SOLR-16396?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17909574#comment-17909574 ]
ASF subversion and git services commented on SOLR-16396: -------------------------------------------------------- Commit fb6d76c9339c8f3b9a3388e9ffcbd3b7992b5389 in solr's branch refs/heads/branch_9x from Jason Gerlowski [ https://gitbox.apache.org/repos/asf?p=solr.git;h=fb6d76c9339 ] SOLR-16396: Convert v2 configset APIs to JAX-RS (#2928) Convert v2 configset APIs to JAX-RS. Naturally this adds the APIs to Solr's growing v2 OAS, and ensures the APIs are included in code-gen artifacts. Also makes slight tweaks to line APIs up with the more REST-ful design chosen for other v2 APIs. - 'clone' (i.e. 'create-from-existing') is now available at `POST /api/configsets {...}` - 'delete' is now available at `DELETE /api/configsets/csName` - 'list' is now available at `GET /api/configsets` > 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, pull-request-available > Time Spent: 0.5h > 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 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| > |Delete Configset|DELETE /api/cluster/configs/configsetName|DELETE > /api/configsets/configsetName|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