29

オブジェクトのシリアル化中にこの JsonIgnore を使用する必要がありますが、逆シリアル化中に JsonIgnore アノテーションを無視する必要があるため、ゲッターを明示的に定義せずに、lombok の @Getter アノテーションで @JsonIgnore を使用できますか?

@Getter
@Setter
public class User {

    private userName;

    @JsonIgnore
    private password;
}

パスワードのゲッターで JsonIgnore を定義するだけで、パスワードがシリアル化されるのを防ぐことができますが、そのためには、望ましくないゲッターを明示的に定義する必要があります。どんなアイデアでも、どんな助けでも大歓迎です。

4

5 に答える 5

51

生成された getter メソッドに @JsonIgnore を配置するには、onMethod = @__( @JsonIgnore ) を使用できます。これにより、特定の注釈を持つゲッターが生成されます。詳細については、 http://projectlombok.org/features/GetterSetter.htmlを確認してください。

@Getter
@Setter
public class User {

    private userName;

    @Getter(onMethod = @__( @JsonIgnore ))
    @Setter
    private password;
}
于 2014-12-30T12:25:36.907 に答える
0

JDK バージョン 8 では、以下を使用します。

//  @Getter(onMethod=@__({@Id, @Column(name="unique-id")})) //JDK7
//  @Setter(onParam=@__(@Max(10000))) //JDK7
 @Getter(onMethod_={@Id, @Column(name="unique-id")}) //JDK8
 @Setter(onParam_=@Max(10000)) //JDK8

ソース: https://projectlombok.org/features/experimental/onX

于 2018-12-03T09:37:15.617 に答える