I have the following code:
@Path("/search")
public class SearchRestlet
extends BaseRestlet
{
@GET
@Produces({ MediaType.APPLICATION_XML,
MediaType.APPLICATION_JSON,
MediaType.TEXT_PLAIN })
public SearchResult search(...)
throws IOException, ParseException
{
final SearchRequest searchRequest = new SearchRequest(...);
final SearchResult result = searchService.search(searchRequest);
return result;
}
}
这是我的JAXB
映射对象:
@XmlRootElement(name = "result")
@XmlAccessorType(XmlAccessType.FIELD)
public class SearchResult
{
@XmlElement
private String id;
...
}
这是我的输出结果:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><result><id>foo</id></result>
这是我想要获得的输出:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<result>
<id>foo</id>
</result>
如果我直接使用marshaller,我知道我可以设置一个属性来实现这个功能,但是在基于上述示例的Jersey环境中如何实现呢?