Spring Bootの入力値検証

この記事を書いたチーム:frontier
Spring Bootの入力値検証

概要 

【エンジニア募集中】フルリモート可◎、売上/従業員数9年連続UP、平均残業8時間、有給取得率90%、年休124日以上 etc.  詳細はこちらから>

Webアプリケーションを運用する上では、ブラウザに入力された値をサーバで処理する場合があります。本記事ではそういった処理を行う前に入力されたデータが正しい値であるか検証する方法についてご紹介いたします。 

検証を行うには 

今回はBean ValidationというJavaの仕組みとSpringBootが提供するライブラリを用いて入力データの検証を行います。 

検証を行うには、以下の3つの記載が必要となります。 

  • Dependenciesへの記載
  • 値の検証を行いたい引数の前に@Validを付与
  • データ用クラスに検証規則を付与 

pom.xmlのDependenciesに「spring-boot-starter-validation」, 「lombok」を記載します。 

続いて、値の検証を行いたい引数の前に@Validを付与し、エラー取得用の引数としてBindingResultを追加します。今回はPOSTリクエストで受け取ったフォームが正しい値であるか検証するため、自作クラスのSampleFormに@Validを付与しています。 

BindingResultにエラーが含まれる場合、Json形式に変換して返却しています。 

 

次に、SampleFormの各変数に対して検証規則を指定します。これらを満たさない場合は前述のBindingResultにエラーが格納されます。 

動作確認 

Postman(https://www.postman.com/)を用いて、送信されたデータが正常値・異常値の場合に動作確認を行いました。 

正常値のデータ内容・返却結果 

異常値のデータ内容・返却結果 

正常値の場合にエラーが返却されず、異常値の場合にエラー内容を取得できていることが確認できます。 

 

まとめ 

今回はSpringBootの入力値検証について、概要と利用方法を解説しました。 間違いやご指摘などあるかもしれませんが、読者の方のお役に立てれば幸いです。 

 

【エンジニア募集中】フルリモートも◎(リモート率85.7%)、平均残業8時間、年休124日以上、有給取得率90% etc. 詳細はこちらから>

Smallitのサービス