通过WebService公开接口

时间:2016-07-27 10:32:56

标签: java web-services java-ee java-ee-7

我希望通过网络服务公开界面。而不是"界面视图"实际实施已暴露。

示例:

@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>

我如何实现这一目标?

0 个答案:

没有答案