gpt4 book ai didi

java - 如何在 Jersey REST api 中返回部分实体/POJO

转载 作者:太空宇宙 更新时间:2023-11-04 07:06:32 25 4
gpt4 key购买 nike

我有一个带有 Jersey REST 端点的 Java Web 服务,该端点以 JSON 对象的形式返回 Restaurant POJO 列表(请参阅下面的 Restaurant 类)。端点看起来像这样

/api/restaurants

并返回与 Restaurant 类相关的所有数据。但是,我想添加另一个更精简的端点,如下所示

/api/restaurants/name

它仅返回所有餐厅的 Restaurant POJO 的 idname。有没有一种很好的方法可以在 Jersey 中开箱即用地执行此操作(例如,为特定端点指定 POJO 中所需的字段)?

相应的 POJO 看起来像这样:

@XmlRootElement
public class Restaurant {
// Members
private Long id;
private String name;
private List<Menu> menus;
...


// Constructors
public Restaurant() {}
...


// Getters and setters
...
}

如果您还有其他需要,请随时告诉我!谢谢!

最佳答案

是的,Jersey 支持选择序列化 XML/JSON 中包含的元素。看看entity filtering手册部分。

本质上,您可以使用自定义注释在 POJO 中注释特定的 @XmlElements。在 REST 资源中,您在构建响应时将注释传递给 Jersey。

请注意,这仅在您使用 EclipseLink MOXy 作为 JAXB 提供程序时才有效。

关于java - 如何在 Jersey REST api 中返回部分实体/POJO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21288922/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com