Domanda: per un'API web pubblica (invia richieste HTTP Get / Post, ottieni dati JSON / XML), come devono essere gestiti i parametri errati o extra.
Mi sembra che se i parametri errati vengono ignorati, un errore nel codice del chiamante può passare inosservato poiché restituirebbe un risultato valido. Questo può essere particolarmente vero in situazioni in cui non sarebbe ovvio guardando i risultati restituiti.
Mi riferisco solo ai parametri opzionali. Ovviamente se un parametro richiesto è errato, il parametro verrà considerato mancante e verrà restituito un errore.
Come esempio , la Ricerca Place La chiamata API ha quattro parametri obbligatori (posizione, raggio, sensore e chiave) e diversi parametri facoltativi (i tipi è uno di questi).
Posso eseguire questi comandi (con una chiave API) e ottenere risultati validi:
curl "https://maps.googleapis.com/maps/api/place/search/json?location=45.47554,-122.794189&radius=500&sensor=false&key=<api_key>&type=bakery"
curl "https://maps.googleapis.com/maps/api/place/search/json?location=45.47554,-122.794189&radius=500&sensor=false&key=<api_key>&types=bakery"
Il primo comando ha il parametro "types" nella forma singolare che è un nome di chiave non valido. L'API ignora quel parametro e restituisce tutti i tipi di entità. In questo caso, l'errore è ovvio, ma potrebbero esserci delle volte (e altre chiamate API) in cui non lo sarà.