Estoy diseñando una API REST y tienen una entidad de "Personas":¿Cómo diseñar una API REST con los criterios LIKE?
GET http://localhost/api/people
devuelve una lista de todas las personas en el sistema
GET http://localhost/api/people/1
Devuelve la persona con id 1.
GET http://localhost/api/people?forename=john&surname=smith
Devuelve todas las personas con nombres y apellidos coincidentes, pero tengo un requisito adicional. ¿Cuál es la forma más limpia/de mejores prácticas de permitir que los consumidores de la API recuperen a todas las personas cuyo nombre de pila comienza con "jo", por ejemplo?
que he visto algunas API hacen esto como:
GET http://localhost/api/people?forename=jo~&surname=smith
donde la tilde, significa un "fuzzy". Por otro lado, lo he visto implementado con un criterio totalmente diferente, por ej.
GET http://localhost/api/people?forename-startswith=jo&surname=smith
que parece un poco complicado teniendo en cuenta que podría tener -endswith, -Contiene, -soundslike (por algún tipo de partido soundex).
¿Alguien puede sugerir por la experiencia que funciona mejor y también cualquier ejemplo de API REST bien diseñadas que tengan una funcionalidad similar.