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

JsonIgnore除了一个endpoint

公良俊楚
2023-03-14

我正在使用Spring boot开发应用程序,我只想在返回客户端时忽略一个字段,但一个endpoint除外。

public class MyJwt {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Lob
@JsonIgnore
private String jwt;
private String reminderKey;
private String userAccountId;
private String clientKey;
private Timestamp createdDate;
private Timestamp expirationDate;
private byte statusCode;

如何仅为一个endpoint向客户端公开jwt?谢谢

共有1个答案

桑思远
2023-03-14

看看JSON视图。使用它,您可以知道每个视图中要包含哪些属性。您可以有两个视图:

public class Views {
    public static class Public {
    }

    public static class Internal extends Public {
    }
}

那么您的模型应该如下所示:

@JsonView(Views.Public.class)
public class MyJwt {

  @Id
  @GeneratedValue(strategy = GenerationType.IDENTITY)
  private Long id;
  @Lob
  @JsonView(Views.Internal.class)
  private String jwt;
  private String reminderKey;
  private String userAccountId;
  private String clientKey;
  private Timestamp createdDate;
  private Timestamp expirationDate;
  private byte statusCode;
}

然后在endpoint中,您将使用JsonView(Views.Public.class),但应包含jwt的endpoint除外,您应在其上使用JsonView(Views.Internal.class)。

 类似资料:
  • 问题内容: React建议转移道具。整齐! 我如何转移除一个以外的所有东西? 问题答案: 您可以使用以下技术来消耗一些道具并传递其余的道具: 资源

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

  • 问题内容: 编辑:现在更具体,我注意到我想在下面使用两个依赖项的冲突: 基本上,我试图忽略一个属性(@JsonIgnore),但是我的Jackson注释都没有起作用。甚至@JsonProperty。我试图在getters和setters方法中添加@JsonIgnore,但是行为相同。 我还尝试遵循官方文档,并尝试使用其他库 导入org.codehaus.jackson.annotate.JsonI

  • 我怎么才能让@JsonIgnore工作呢?我有课。即使我把注释放在那里,它对输出也没有影响。我在用杰克逊。 这是我的控制器方法: 这是我的servlet-context.xml:

  • 问题内容: 当我想删除Cookie时,我尝试 我从firefox的cookie浏览器中看到cookie仍然存在。我如何才能真正删除Cookie? 问题答案: 你可以试试这个

  • 我正在尝试在删除第一个实例“c”“C”“d”或“D”的情况下打印aLine。但是,我仅限于使用String的indexOf、charAt、长度、compareTo、toUpperCase、toLowerCase、trim、equals、equalsIgnoreCase和子字符串方法。假设您可以输入任何您喜欢的字符串。 我已经实现了删除“c”。但是,如果“c”之前有“d”,它仍然会删除“c”。我已经