0

I have a DTO which cannot be modified, but it is required for use on a new endpoint. The problem is that the RootElement Name has to be changed, is there a way to to this on a specific endpoint ?

@XmlAccessorType(XmlAccessType.PROPERTY)
@XmlRootElement(name = "wccevent")
public class SimpleWCCEvent {
..
}

On my new endpoint I need to change the root name from wccevent to apiresponse, is this possible ?

Something like

@GET
...
@XmlFeatures({overrideRootName = "apiresponse"})
public Response newEndpoint(){
...
}
Esteban Rincon
  • 2,040
  • 3
  • 27
  • 44

1 Answers1

1

Is the need for the change int the DTO due to a broader change in the API? Maybe you might need to consider how you handle API changes in the greater schema of things.

Else have a look at this answer that suggests overriding the root element name as such:

String xml mapper.writer().withRootName("movies").writeValueAsString(movies);