2017-02-15 8 views
0

Springをどうすればいいですか?クライアントが予期しないリクエストパラメータを送信すると、ステータスコードが返されます。Spring Controllerが予期しないリクエストパラメータを検出する方法

は例えば、私はこの

public ResponseEntity<String> recommend(
     @RequestParam(value = "max-age-seconds", required = false) Long maxAgeSeconds) { 
     ... 
    } 

持っており、クライアントは自分のアプリケーションを認識し、その後、私は後で選択したデフォルトの最大年齢にフォールバックしませんmax-age-secondsのタイプミスを有していてもよいです。

私はrequest.getParameterNames()ですべてのリクエストパラメータのリストを取得し、1つずつチェックすることができますが、より洗練された効率的なソリューションを探しています。

編集:私は4年前にそれを見つけましたdidn't have a built-in solution、それはまだ場合のだろうかと思います。

+0

私はもっと良い解決策はないと思います...予期しないパラメータがある場合は、リクエストパラメータとチェックをループする必要があります。 – davioooh

答えて

0

メソッドrequest.getParameterMap()を呼び出してから、マップのサイズが1であることを確認して、キーが「max-age-seconds」に等しいかどうかを確認し、必要であれば値を検証することもできます。検証が間違った場合は400を返します(または、エラーメッセージ "これはSparta!です)。 (最後の部分は冗談です...)

関連する問題