我正在嘗試發送請求以取回對象數組-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。
添加回答
舉報
0/150
提交
取消