最新の安定バージョンについては、Spring Boot 4.1.0 を使用してください! |
検証
Bean バリデーション 1.1 でサポートされているメソッド検証機能は、JSR-303 実装 (通常 spring-boot-starter-validation によって提供される Hibernate Validator など) がクラスパス上に存在する限り、自動的に有効になります。これにより、Bean メソッドのパラメーターや戻り値に jakarta.validation 制約を付加することができます。このような制約が付加されたメソッドを持つ対象クラスは、メソッド内でインライン制約のアノテーションが検索されるように、型レベルで @Validated (Javadoc) アノテーションを付加する必要があります。
たとえば、次のサービスは最初の引数の検証をトリガーし、そのサイズが 8 〜 10 であることを確認します。
Java
Kotlin
import jakarta.validation.constraints.Size;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
@Service
@Validated
public class MyBean {
public Archive findByCodeAndAuthor(@Size(min = 8, max = 10) String code, Author author) {
return ...
}
}import jakarta.validation.constraints.Size
import org.springframework.stereotype.Service
import org.springframework.validation.annotation.Validated
@Service
@Validated
class MyBean {
fun findByCodeAndAuthor(code: @Size(min = 8, max = 10) String?, author: Author?): Archive? {
return null
}
} アプリケーションの MessageSource (Javadoc) は、制約メッセージ内の {parameters} を解決するときに使用されます。これにより、アプリケーションの messages.properties ファイルを Bean 検証メッセージに使用できます。パラメーターが解決されると、Bean 検証のデフォルトのインターポレータを使用してメッセージのインターポレーションが完了します。
ValidatorFactory (英語) の構築に使用される Configuration (英語) をカスタマイズするには、ValidationConfigurationCustomizer (Javadoc) Bean を定義します。複数のカスタマイザー Bean が定義されている場合、@Order (Javadoc) アノテーションまたは Ordered (Javadoc) 実装に基づいて順番に呼び出されます。