0

子管理モジュール リソース (Spring ResourceSupport クラスを拡張する AdminModuleResource) で、親管理リソース (Spring ResourceSupport クラスを拡張する AdminResource) が空ではない (@NotEmpty) ことを検証するためのガイドラインを探しています。

AdminResource クラスも Serializable インターフェイスを実装する必要があることを理解していますか? それはSpring ResourceSupport-ed resources を使用する方法ですか?

ここに私のリソースがあります:

public class AdminResource extends AbstractResource {

    private String firstname;
    private String lastname;
    @NotEmpty
    @Email
    private String email;
    private String password;
    private String passwordSalt;

}

public class AdminModuleResource extends AbstractResource {

    @NotEmpty
    private String module;
    @NotEmpty
    private AdminResource adminResource;
}

public abstract class AbstractResource extends ResourceSupport {

    @JsonProperty("id")
    private Long resourceId;

    public AbstractResource() {
    }

    public Long getResourceId() {
        return resourceId;
    }

    public void setResourceId(Long resourceId) {
        this.resourceId = resourceId;
    }

}

現時点では、@NotEmpty バリデーター注釈によってエラーが表示されます: タイプのバリデーターが見つかりませんでした...

しかし、「implements Serializable」をリソースに追加しても役に立たず、@NotEmpty バリデータ アノテーションを使用すると例外が残りました。

public abstract class AbstractResource extends ResourceSupport implements Serializable {
}

もちろん、@NotEmpty バリデータ アノテーションをコメント アウトすると、Maven ビルドが成功します。

道順のヒントをありがとう!

敬具、

ステファン

4

1 に答える 1

1

@NotEmpty は、CharSequences (文字列)、コレクション、マップ、および配列でのみサポートされます。文字列またはコレクション/配列が空かどうかをチェックします。AdminResource が空でないということは何を意味するのでしょうか。@NotNullのことですか?

AdminResource に @NotEmpty を使用することが意味的に意味がある場合は、カスタム ConstraintValidator を実装し、XML 経由で登録する必要があります ( http://beanvalidation.org/1.1/spec/#xml-mapping-も参照してください)。制約定義)。

于 2014-09-01T15:16:36.633 に答える