Stiamo progettando un endpoint di riposo per la ripetizione dei suggerimenti di completamento automatico del nome per i nomi degli hotel.
Attualmente è definito in questo modo: GET /suggest/:term
, in modo che se hai chiesto "/ suggerisci / hil" riceverai risposte come "Hilton Paris", "Hilton New York", ecc.
Uno dei nostri colleghi sostiene che ciò è contrario alle best practice di progettazione dell'API REST e che il termine di ricerca dovrebbe essere invece un parametro di query, ovvero /suggest?term=hilt
.
Guardando attorno ad altre famose API, sembra che tutti usino un parametro di query:
ma mi piacerebbe sapere perché; se il primo è in realtà un cattivo design e quali linee guida mi porterebbero a renderlo un parametro di query in primo luogo.