我正在研究接收XML数据的JAX-RS WebService,例如:
<movie>
<id>ID</id>
<genres>
<genre>horror</genre>
<genre>scifi</genre>
</genres>
</movie>
这需要绑定到一个我无法注释的POJO(来自一个单独的jar)看起来像这样:
public class Movie {
private String id;
private List<Genre> genres;
// ... usual getter/setters
}
我的JAX-RS入口点:
@PUT
@Path("/movies")
@Consumes("application/xml")
@Produces("text/plain")
public Response put(JAXBElement<Movie> movieWrapper) {
Movie movie = movieWrapper.getValue();
//...;
}
成功处理XML数据,但只能正确设置'id'属性。字段'genres'是'null'。
如何让JAXB正确处理集合的内容?
注意:关于如何通过注释实现这一点的博客/文章很多,但遗憾的是在这种情况下,我无法改变POJO本身。