いつもお世話になっております。
早速本題に入らせていただきます。
現在Springを使用して、リクエストヘッダのバリデーションを実装しようとしているのですが、
下記のように書いてみても入力チェックをスルーしてしまいます。
厳密にいえばNull値は許容しなくなりましたが、@Pattern に記載している正規表現以外を送っても通ってしまいます。
下記現在の該当ソースコードです。
Java
1public searchResponse search( 2 @RequestHeader("Authorization") @Pattern(regexp = "\ABearer .+") String token, 3 @RequestBody @Validated searchRequest searchRequest, 4 BindingResult bindingResult, 5 HttpServletResponse response){ 6 7 // バリデーションチェック 8 if (bindingResult.hasErrors()) { 9 // ログ 10 String message= createLogMessage(bindingResult); 11 log.error(message); 12 } 13 14 15 // 省略 16}
// リクエストヘッダ部 Authorization:aiueo; // こんな適当な入力値でも通ってしまう // ボディ部 { "user_name": "tarou" }
リクエストヘッダーの値を正規表現と一致するかチェックする方法をご存知の方いらっしゃいましたらご助力頂けますと幸いです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。