Je suis en train de concevoir une API REST et j'ai une entité pour les "personnes" :
GET http://localhost/api/people
Renvoie une liste de toutes les personnes présentes dans le système.
GET http://localhost/api/people/1
Retourne la personne avec l'id 1.
GET http://localhost/api/people?forename=john&surname=smith
Il renvoie toutes les personnes dont les noms et prénoms correspondent, mais j'ai une autre exigence. Quelle est la méthode la plus propre et la plus efficace pour permettre aux consommateurs de l'API de récupérer toutes les personnes dont le prénom commence par "jo", par exemple ?
J'ai vu certaines API faire cela comme :
GET http://localhost/api/people?forename=jo~&surname=smith
où le tilde signifie une correspondance "floue". D'un autre côté, j'ai vu qu'il était implémenté avec un critère totalement différent, par ex.
GET http://localhost/api/people?forename-startswith=jo&surname=smith
ce qui semble un peu lourd si l'on considère que je pourrais avoir -endswith, -contains, -soundslike (pour une sorte de correspondance soundex).
Quelqu'un peut-il suggérer, à partir de son expérience, ce qui fonctionne le mieux et également des exemples d'API REST bien conçues qui ont une fonctionnalité similaire.