0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【SpringBoot】値がない場合を弾くアノテーションチートシート

Posted at

1. はじめに

 今まで、null判定・undefined判定などの値があるかどうかを判定するロジックに悩むことが多かったので、メモ書きとしてまとめていたもの+調査したものを公開していきます。
 今回はSpringBoot編です。先のVue2→Vue3へのアップデートでも使っていました。

2. SpringBootのアノテーションにおける値存在判定

@NotNull

前回のObjects.isNull()と同様、nullかどうかを判定します。
もしnullであれば、エラーメッセージを返します。 

    // nullの値が渡されると「値はNullです。」のメッセージが返ります
    @NotNull(message =  "値はNullです。")
    private String nullField;

@NotEmpty

前回のStringUtils.isEmpty()と同様、nullと""(空文字)の時かどうかを判定します。
もしnullか空文字であれば、エラーメッセージを返します。
StringUtils.isEmpty()と同じく半角スペースのみの場合は検知されません。

    // nullか空文字が渡されると「値はnullか空文字です。」のメッセージが返ります
    @NotEmpty(message =  "値はnullか空文字です。")
    private String emptyField;

@NotBlank

前回のStringUtils.isBlank()と同様、nullと""(空文字)、半角スペースかどうかを判定します。
もしnullか空文字、半角スペースであれば、エラーメッセージを返します。

    // nullか空文字、半角スペースのみの値が渡されると「値がblankです。」のメッセージが返ります
    @NotBlank(message =  "値がblankです。")
    private String emptyField;

但しこれらに関しては全角スペースはすり抜けます。

引数 引数(コード) @NotNull @NotEmpty @NotBlank
null null true true true
空文字 '' false false true
半角スペース ' ' false false true
半角スペース ' ' false false false

3.さいごに

今回の記事は以上です。
DTOなどに含めて入れると便利だったので、紹介しました。
次回以降少しペースが落ちるかもしれませんが、気ままに更新していきますので、見ていただけたら嬉しいです。

4.参考資料

@NotBlank、@NotEmpty、@NotNullの挙動の違いをSpring Boot + Thymeleafで整理する

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?