Pregunta: Para una API web pública (envíe solicitudes HTTP Get / Post, recupere datos JSON / XML), cómo deben manejarse los parámetros que están mal escritos o son extra.
Me parece que si se ignoran los parámetros incorrectos, un error en el código de la persona que llama puede pasar desapercibido ya que obtendrían un resultado válido. Esto puede ser especialmente cierto en situaciones en las que no sería obvio al observar los resultados devueltos.
Me refiero solo a parámetros opcionales. Obviamente, si un parámetro requerido está mal escrito, entonces el parámetro se considerará perdido y se devolverá un error.
Como ejemplo , la llamada a la API de Place Search tiene cuatro parámetros obligatorios (ubicación, radio, sensor y clave) y varios parámetros opcionales (los tipos son uno de ellos).
Puedo ejecutar estos comandos (con una clave API) y obtener 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"
El primer comando tiene el parámetro "tipos" en forma singular, que es un nombre de clave no válido. La API ignora ese parámetro y devuelve todos los tipos de entidades. En este caso, el error es obvio, pero puede haber ocasiones (y otras llamadas a la API) donde no lo será.
fuente