クエリ文字列の既知のリストを厳密に受け入れるように Spring-MVC を構成する方法はありますか? 送信されたクエリ文字列を検証しようとしています。リクエストに追加のクエリ文字列パラメーターがある場合は、それについて知り、404 を返したいです。
私の動機は次のとおりです。
- 明快さ: 私は、クライアントが要求パラメーターをファットフィンガー化して、それでも結果を返すことを望んでいません (要求パラメーターが指定されていないかのように)。
- HTTP キャッシング: サービスの有効な HTTP ルートの数を制限して、HTTP キャッシング (つまり、ワニス) がより適切に機能するようにしたいと考えています。
たとえば、1 つを取るように構成された単純なコントローラーがあるとしますRequestParam
。
@RequestMapping(value = "/selective_route", method = RequestMethod.GET)
public String printTest(@RequestParam String test) {
return test;
}
アプリがリクエストを受け入れ、OK レスポンスを返すようになりました:
/selective_route?test=foo
しかし、追加の不明なリクエスト パラメータがあることをアプリに認識させ、ERROR レスポンス コードを返すようにしたいと考えています。
/selective_route?test=foo&someotherparam=somethingelse