Je suis en train de construire une interface REST pour mon application en utilisant ROA (Resource Oriented Architecture).
J'aimerais donner au client la possibilité de spécifier des paramètres de recherche dans l'URL. Ainsi, un client pourrait dire "Donnez-moi toutes les personnes qui sont " :
- "prénom" est égal à "BOB"
- "age" est supérieur à "30"
- trier par "nom_de_famille"
Je pensais à quelque chose comme :
GET /PEOPLE/{query_parameters}/{sort_parameters}
...ou peut-être
GET /PEOPLE?query=<query_string>&sort=<sort_string>
...mais je ne suis pas sûr de la syntaxe qui conviendrait pour spécifier les triples COLUMN_NAME-OPERATOR-VALUE. Je pensais à quelque chose comme :
column_name.operator.value
Le client pourrait donc dire :
GET /PEOPLE?query=first_name.EQUALS.bob&query=age.GREATER_THAN.30&sort=last_name.ASCENDING
Je ne veux vraiment pas réinventer la roue, mais existe-t-il des méthodes acceptées pour ce faire ? J'utilise Restlets, je ne sais pas si cela fait une différence.