1

要素totalNoOfTicketsが関連付けられているオブジェクトチケットがあります。私はこのオブジェクトTicketをRESTfulサービスの多くのメソッドで使用しています。ただし、要素「totalNoOfTickets」は1つのメソッドにのみ必要であり、他のメソッドには必要ありません。

たとえば、私の方法の1つで、私は言います...

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を設定しませんか?...その要素をオプションで使用できますか?

4

1 に答える 1

2

デフォルトでは、JAXB(JSR-222)実装はnull値をマーシャリングしません。totalNumofTicketsフィールド/プロパティをに変更Integerし、マーシャリングしたくない場合は値を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;
    }

}

詳細については

于 2012-09-25T20:39:20.933 に答える