当前位置: 首页 > 知识库问答 >
问题:

@jsonIgnore带有@getter注释

马嘉勋
2023-03-14

我可以在lombok中使用@JsonIgnore和@getter注释,而不显式定义getter,因为我必须在序列化对象时使用这个JsonIgnore,但是在反序列化时,JsonIgnore注释必须是ignore,所以对象中的字段不能为空。

@Getter
@Setter
public class User {

    private userName;

    @JsonIgnore
    private password;
}

我知道,只要在password的getter上定义JsonIgnore就可以防止我的密码被序列化,但为此我必须显式定义我不想要的getter。任何建议,任何帮助都将不胜感激。

共有1个答案

荀金鹏
2023-03-14

要将@jsonIgnore放到生成的getter方法中,可以使用onMethod=@__(@jsonIgnore)。这将生成具有特定注释的getter。有关更多详细信息,请查看http://projectlombok.org/features/gettersetter.html

@Getter
@Setter
public class User {

    private userName;

    @Getter(onMethod = @__( @JsonIgnore ))
    @Setter
    private password;
}
 类似资料:
  • 我正在使用Lombok注释,但我希望一些字段是可选的,并默认为,以避免NPE。有没有一个简单的方法可以做到这一点?我什么也找不到。 或者,一种自定义的方法,用于在变量为时返回默认值。

  • 假设我生成了一个具有多个属性的域对象。我想为defn类中的一个对象属性生成@jsonignore注释。

  • 我正在使用Jpa和Hibernate。 我的项目中发生了一件非常奇怪的事情。 我有两个实体:学生和课程,多对多的关系。 很长一段时间内,一切都运行得很好,但突然我遇到了这个问题: 当我找到一个特定的学生(em.find)并使用getter(student.getcourses)返回其课程列表时,我只收到列表的一部分!如果我使用一个查询(“Select s.cources from Students

  • 我是Spring靴的初学者,不能解决问题。我有一个实体类(Customer)和一个REST存储库(CustomerRepository)。类包含一些我不想被REST存储库公开的敏感字段。因此,我使用@jsonIgnore注释对这些字段进行了注释,如下所示: 一切正常,我的REST API返回了所需的结果。但是,当我向API发出POST请求以插入新实体时,我会收到数据库错误:。 在POST请求中,密

  • 我不熟悉和以及我尝试使用的许多其他技术,所以我希望得到详细的回答。 有没有办法防止一个或多个字段使用序列化为String_格式,但不使用任何类型的注释? 类似于:。我的对象是一个类的实例,它扩展了另一个类,并实现了一个接口,依此类推,因此字段来自类的层次结构。我需要该对象的表示,但只包含某些字段,因此我可以通过方法在模拟请求中发送该。我使用的是。

  • 在处理一个项目时,我犯了一个错误,将@jsonIgnore放在setter而不是getter属性上,如下所示 这是@jsonIgnore正常工作的方式吗?我以为只在getter上设置@jsonignore可以防止序列化。在这里,它阻止了序列化,即使我把它放在getter或setter上。 感谢任何建议。多谢了。