我希望通过网络服务公开界面。而不是"界面视图"实际实施已暴露。
示例:
@XmlRootElement
public interface Foo extends Serializable {
String getId();
}
@XmlRootElement
public class MyFoo implements Foo {
private String id;
private String bar;
// Getter / Setter
}
@GET
@Path("myfoo")
@Produces(MediaType.APPLICATION_XML)
public MyFoo myFoo() {
MyFoo foo = new MyFoo();
foo.setId("myfoo");
foo.setBar("bar");
return foo;
}
此Web服务方法将提供预期的结果,如
<myFoo>
<bar>bar</bar>
<id>myfoo</id>
</myFoo>
当我尝试仅公开接口视图时出现问题:
@GET
@Path("foo")
@Produces(MediaType.APPLICATION_XML)
public Foo foo() {
MyFoo myFoo = new MyFoo();
myFoo.setId("foo");
myFoo.setBar("bar");
Foo foo = myFoo;
return foo;
}
这将给出结果:
<myFoo>
<bar>bar</bar>
<id>foo</id>
</myFoo>
但我的期望是这样的回应:
<foo>
<id>foo</id>
</foo>
我如何实现这一目标?