9
Most frameworks I know use URL parameters as follows:
/recurso/variavel
For example
/produtos/{nome}
/produtos/{categoria}
Some use between {}
others <>
, etc.
To differentiate the searches is usually passed beyond the value to filter, the field that will be filtered:
/recurso/campo/variavel
For example
/produtos/nome/{nome}
/produtos/categoria/{categoria}
But if you want to do more complex searches, filtering through more than one field, you create many routes, with several parameters:
/produtos/categoria/{categoria}/nome/{nome}/precoMinimo/{minPreco}/precoMaximo/{maxPreco}
If the user wants to search by category, minimum and maximum price, he has to create another route or use this passing the value of the name in white. I think it’s enough to understand how complex it is to do and maintain
The use of query string can spark, creating only one route for each resource, and adding only one condition for each field you want to use in the filter, whether it exists or not. This can also be implemented with loop from an array of parameter keys
Since it makes it easier, why not use it? REST standard does not allow or limit its use?