我有一个无法修改的 DTO,但在新端点上使用需要它。问题是 RootElement 名称必须更改,有没有办法在特定端点上更改此名称?
@XmlAccessorType(XmlAccessType.PROPERTY)
@XmlRootElement(name = "wccevent")
public class SimpleWCCEvent {
..
}
在我的新端点上,我需要将根名称从 wccevent
更改为 apiresponse
,这可能吗?
类似于
@GET
...
@XmlFeatures({overrideRootName = "apiresponse"})
public Response newEndpoint(){
...
}
最佳答案
由于 API 发生了更广泛的变化,是否需要对 DTO 进行更改?也许您可能需要考虑如何在更大的架构中处理 API 更改。
另外看看这个answer这建议重写根元素名称,如下所示:
String xml mapper.writer().withRootName("movies").writeValueAsString(movies);
关于java - JAX-RS 在运行时更改 @XmlRootElement.name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47559933/