如何在 DTO 中隐藏 JsonProperty?

How to hide a JsonProperty in the DTO?

我正在使用 DTO 来插入对象和搜索 returns 数据。

特别是,我有兴趣了解是否有隐藏某些字段的方法:

    private List <aDTO> sos;

    private List <aDTO> sosPast;

    private List <aDTO> sosPresentFuture;

sos 用于写入插入对象列表。 在研究中,我需要两个独立的元素,一个是 returns 过去的对象,一个是 returns 现在的 and/or 未来的对象。

所以在插入时,我只需要显示

    private List <aDTO> sos;

在研究中,我将只展示

    private List <aDTO> sosPast;
    private List <aDTO> sosPresentFuture;

(在研究中这个问题被

解决了
    @Mapping(target = "sos", ignore = true)

在映射器中)

现在我需要一些东西来隐藏两个列表(sosPast 和 sosPresentFuture)以便只留下 sos 列表。

  1. 如果你想对 Swagger 隐藏一些东西,你可以使用 @ApiModelProperty(hidden = true)
  2. 如果您想完全删除该字段,使其不被 jackson 序列化,您可以对响应 DTO 执行 @JsonIgnore

这有帮助吗?

我已经通过这样做解决了问题:

@JsonProperty("sosPast")
@ReadOnlyProperty
@ApiModelProperty(hidden = true)
private List<aDTO> sosPast;

@JsonProperty("sosPresentFuture")
@ReadOnlyProperty
@ApiModelProperty(hidden = true)
private List <aDTO> sosPresentFuture;