我有一些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