我有一些POJO,這是我正在工作的這個RESTful API的基礎。但是,我需要包含一些其他信息以使API更完整。我真的不想把這些額外的信息放在POJO中,但將它包含在Web服務層,就好像它一樣。春季MarshallingView調整輸出?
它涉及有「約會」的「人」。每個約會只有一個人。
因此,我有一個像/ Patients/1這樣的RESTful調用,它基本上抓住了Person的POJO,我正在使用XStream來序列化併發送它。這很好,但我想這樣做:
<Person>
<firstName>James</firstName>
... other fields ...
<nextAppointment href="/Appointment/12345>2010-02-19</nextAppointment>
<prevAppointment href="/Appointment/12346>2010-01-01</prevAppointemnt>
</Person>
哪裏下一個和prev約會實際上不包括在人POJO。我正在尋找一種很好的「春季方式」來實現這一目標。客戶可以這樣做/ Patients/1/PreviousAppointment和/ Patients/1/NextAppointment,但我期望減少通話量(可能是預優化?),並讓他們獲得更多信息的方式,如果他們需要它通過使用他href。
這是非常優雅的使用XStreamMarshaller,因爲我所做的一切都是POJO或POJO列表處理視圖。但是我需要醫生們在送出之前稍微提高一點。
謝謝!
這是有道理的。所以我想我基本上有兩種選擇,可以使用我自己的各種業務對象自己生成XML,也可以創建一個新對象,它代表我想要的輸出格式並在其上使用XStream。 新對象的問題是它需要一堆膠水代碼和實際POJO對象的大部分字段的重複。 我現在只是想讓客戶通過額外的API調用收集額外的信息,直到證明性能是不可接受的。 – 2010-01-10 13:19:55