java - 如何过滤 JAX-RS 服务的响应?

标签 java jax-rs

我得到了以下值对象:

@XmlRootElement
public class Movie{
  public String name;
  public Date releaseDate;
  public List<Actors> actors;
}

我得到了以下服务

@GET
@Produces(MediaType.APPLICATION_JSON)
public List<Movie> moviesByYear(int year){
//return all movies by year
}

通过一些 ORM 框架在数据库中搜索电影。我的问题是:我想过滤响应,不返回 Actor 列表(因为该字段不相关,并使响应更大)。我当然可以

for(Movie movie: movies){
  movie.actors = null;
}

但如果我想删除多个字段,这会迅速升级。

最佳答案

如果您不想在响应中包含 actors 字段,则可以使用 @XmlTransient 对该字段进行注释。请参阅JavaDoc了解更多详情。

否则,您可以将 Movie 对象包装到不公开 actors 字段的包装器对象中。

关于java - 如何过滤 JAX-RS 服务的响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11736643/

相关文章:

java - 如何在Android SQLite数据库中使用SQLCipher或任何加解密技术

java - Ant 构建的 Jar 程序看不到具有显式设置类路径的类

java - Azure 逻辑应用程序 http post multipart/form-data 文件上传

java - 如何从请求上下文中获取 url 匹配模板

java - 使用一个不完全是 JSON 的主体

Java JAX-RS 如何实现带有查询和普通请求的 GET API

java - 了解在 Android 中更改点击叠加标记的代码

java - Java EAR 应用程序中的登录

java - JAX-RS Jersey JSON GET HTTP 状态 500 内部服务器错误

java - Rest Api Post 请求