我在服务中编写了两个基于Rest的Web方法:
Response doSomething() ;
Response doSomething2()
现在,我想将这些响应编组为两个不同的xml名称。所以,响应看起来像:
**<doSomethingResponse>** for doSomething()
**<doSomething2Response>** for doSomething2()
这样做的最佳方法是什么。我正在使用jaxB进行编组。
答案 0 :(得分:1)
您可以利用JAXBElement
提供根元素名称。在下面的示例中,我们将使用JAXBElement
来创建响应FOO
的根节点。
@GET
@Produces(MediaType.APPLICATION_XML)
public Response get() {
Customer customer = new Customer();
customer.setFirstName("Jane");
customer.setLastName("Doe");
JAXBElement<Customer> jaxbElement = new JAXBElement(new QName("FOO"), Customer.class, customer);
return Response.ok(jaxbElement).build();
}
答案 1 :(得分:0)
您可以使用@WebResult
或@XmlElement
注释:
@WebResult(name="doSomethingResponse")
//or
//@XmlElement(name="doSomethingResponse")
Response doSomething();
@WebResult(name="doSomething2Response")
//or
//@XmlElement(name="doSomething2Response")
Response doSomething2();