Sto progettando un'API REST e hanno un soggetto per "gente":Come progettare un'API REST con i criteri LIKE?
GET http://localhost/api/people
Restituisce un elenco di tutte le persone nel sistema
GET http://localhost/api/people/1
Restituisce la persona con id 1.
GET http://localhost/api/people?forename=john&surname=smith
Restituisce tutte le persone con nomi e cognomi corrispondenti, ma ho un ulteriore requisito. Qual è il modo più pulito/migliore per consentire ai consumatori delle API di recuperare tutte le persone il cui nome inizia con "jo", ad esempio.
Ho visto alcune API fanno questo tipo:
GET http://localhost/api/people?forename=jo~&surname=smith
dove la tilde indica un match "fuzzy". D'altra parte, l'ho visto implementato con criteri completamente diversi, ad es.
GET http://localhost/api/people?forename-startswith=jo&surname=smith
che sembra un po 'ingombrante considerando che potrei avere -endswith, -contains, -soundslike (per una sorta di partita soundex).
Qualcuno può suggerire per esperienza che funziona meglio e anche qualche esempio di API REST ben progettate che hanno funzionalità simili.