Tecnicamente, essa verificação requer uma etapa adicional. Você precisa listar todos os parâmetros e comparar essa lista com a lista de parâmetros permitidos. Então, se você decidir aceitar um parâmetro adicional, precisará alterar essa lista, exigindo ainda mais trabalho. Todo esse código tem que ser testado também.
Qual é o benefício? O benefício é que um programador que fez um erro de digitação como:
↓↓
http://example.com/users?gendre=male
verá imediatamente uma mensagem de erro útil, em vez de receber a lista de todos usuários e se perguntando por que o filtro não está funcionando. Isso é ótimo, e gostaria que todas as APIs fossem úteis e amigáveis ao programador.
Cabe a você decidir se esse benefício vale o esforço de escrever códigos e testes adicionais.
Um dos casos em que você não deve se importar é quando você mesmo desenvolve as bibliotecas do cliente. Se você fornecer essas bibliotecas nas linguagens mais populares (Java, Python, Ruby, C ++, C #, ObjectiveC, PHP), pode não ser tão útil manipular o caso em que um parâmetro não suportado foi especificado.