为了账号安全,请及时绑定邮箱和手机立即绑定

直接自引用导致循环

直接自引用导致循环

至尊宝的传说 2022-05-21 13:35:11
我正在尝试发送请求以取回对象数组-Coupon当我提交请求时,我得到了答案-直接自引用导致循环(通过引用链: java.util.HashSet[0]=> model.Coupon["emptyCoupon"]=> model.Coupon["emptyCoupon"])model.Coupon可能会解决问题。如果请求的优惠券不存在,则打算退回空优惠券。public static final int NO_ID = -1;private static final Coupon EMPTY_COUPON = new Coupon(NO_ID, null, null, null, NO_ID, NO_ID, null, NO_ID, null);private long id = NO_ID;private String title;private LocalDate startDate;private LocalDate endDate;private int amount;private int category;private String message;private double price;private String image;public Coupon() {}private Coupon(long id, String title, LocalDate start_date, LocalDate end_date, int amount, int category,        String message, double price, String image) {    this.id = id;    this.title = title;    this.startDate = start_date;    this.endDate = end_date;    this.amount = amount;    this.category = category;    this.message = message;    this.price = price;    this.image = image;}public Coupon getEmptyCoupon() {    return EMPTY_COUPON;}在我添加之前,我EMPTY_COUPON对请求没有任何问题。我想要代码中的emptyCoupon,我很乐意提供帮助
查看完整描述

1 回答

?
智慧大石

TA贡献1946条经验 获得超3个赞

由于您使用 Jersey 序列化为 JSON 或 XML,因此您的对象图中可能没有循环。

泽西岛@JsonBackReference不像杰克逊那样有,所以你可以考虑将它移到EMPTY_COUPON一个单独的类中(类似Constants.java)并从那里获取它。

其他选项是添加@XmlIgnore到您的字段或切换到另一个 JSON 序列化程序,如 Jackson。


查看完整回答
反对 回复 2022-05-21
  • 1 回答
  • 0 关注
  • 150 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信