gpt4 book ai didi

java - Jaxb:处理剩余 Web 服务响应中的可选元素

转载 作者:行者123 更新时间:2023-11-30 04:39:45 25 4
gpt4 key购买 nike

我有一个对象票证,它有一个与其关联的元素totalNoOfTickets。我在 Restful 服务的许多方法中使用了这个对象 Ticket。但是,我只需要元素“totalNoOfTickets”仅用于一种方法,而不需要其他方法......

例如,在我的一种方法中,我说...

Ticket.setTotalNoOfTickets(7);

我没有在其他方法中使用这个totalNoOfTickets。因此,我没有在其他方法中设置它。

现在在我的 Ticket.java 中......我有

public class Ticket
extends ActionType {

@XmlElementWrapper(name = "Tickets")
@XmlElement(name = "Ticket")
protected List<Ticket> tickets;

@XmlElement(name = "TotalNumOfTickets")
protected int totalNumofTickets;

public int getTotalNumofTickets() {
return totalNumofTickets;
}

public void setTotalNumofTickets(int totalNumoftokens) {
this.totalNumofTickets = totalNumoftickets;
}

在方法响应中,我设置了totalNumoftickets,响应包含:

<TotalNumOfTickets>7</TotalNumOfTickets>

但是,即使在响应中,我不需要totalNumoftickets,响应也包含

<TotalNumOfTickets>0</TotalNumOfTickets>

在 Jax-B 中是否有任何方法不会有

<TotalNumOfTickets>0</TotalNumOfTickets>

在方法的响应中,我没有设置totalNumoftickets?...我可以选择使用该元素

最佳答案

默认情况下 JAXB (JSR-222)实现不会编码(marshal) null 值。您可以将 totalNumofTickets 字段/属性更改为 Integer 并在您不想编码(marshal)它时将其值设置为 null。

public class Ticket
extends ActionType {

@XmlElementWrapper(name = "Tickets")
@XmlElement(name = "Ticket")
protected List<Ticket> tickets;

@XmlElement(name = "TotalNumOfTickets")
protected Integer totalNumofTickets;

public Integer getTotalNumofTickets() {
return totalNumofTickets;
}

public void setTotalNumofTickets(Integer totalNumoftokens) {
this.totalNumofTickets = totalNumoftickets;
}

}

了解更多信息

关于java - Jaxb:处理剩余 Web 服务响应中的可选元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12590570/

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