【问题标题】:How to use a specific Json Serialize in JAX-RS?如何在 JAX-RS 中使用特定的 Json 序列化?
【发布时间】:2020-10-23 01:29:59
【问题描述】:

我将 Gson 库和 JAX-rs 用于 RestFull-API 项目。这是我的终点:

@POST
@PermitAll
@Path("/search")
public List<Model> listAll(@BeanParam @Valid PageRequest page, SearchModelRequest request) {
    List<Model> models = modelDao.getOrderedByViews(page);
    return models;
}

系统自动将模型对象序列化为具有所有属性的完整 JSON,但我只想发送其中一些;我该怎么办?

【问题讨论】:

标签: java json gson jax-rs


【解决方案1】:

默认情况下,如果您将字段标记为瞬态,则在 Gson 中默认情况下,解析时不会考虑它。

例如:

private transient String name = "";

尽管如此,如文档中所述,还有更多方法可以做到这一点:

https://sites.google.com/site/gson/gson-user-guide#TOC-Excluding-Fields-From-Serialization-and-Deserialization

  • Java 修饰符排除
  • Gson 的@Expose
  • 用户定义的排除策略

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-16
    • 1970-01-01
    • 2019-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-25
    相关资源
    最近更新 更多