Pergunta: Para uma API da web voltada ao público (envie solicitações HTTP Get / Post, obtenha dados JSON / XML de volta), como devem ser tratados os parâmetros com erros de ortografia ou extras.
Parece-me que, se os parâmetros incorretos forem ignorados, um erro no código do chamador poderá passar despercebido, pois eles receberiam um resultado válido. Isso pode ser especialmente verdadeiro em situações em que não seria óbvio observando os resultados retornados.
Estou me referindo apenas a parâmetros opcionais. Obviamente, se um parâmetro necessário estiver incorreto, o parâmetro será considerado ausente e um erro será retornado.
Como exemplo , a chamada da API da Pesquisa de local tem quatro parâmetros obrigatórios (local, raio, sensor e chave) e vários parâmetros opcionais (tipos é um deles).
Eu posso executar estes comandos (com uma chave de API) e recuperar resultados válidos:
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"
O primeiro comando possui o parâmetro "types" no formato singular, que é um nome de chave inválido. A API ignora esse parâmetro e retorna todos os tipos de entidades. Nesse caso, o erro é óbvio, mas pode haver momentos (e outras chamadas de API) em que não haverá.