2012-01-09 7 views
1

JAX-RSを通じてJavaインタフェースの種類を露出させます。私は、RESTリソースによって返されるドメインオブジェクトを持っています。は、どのように私はJAX-RSのジャージー実装を使用しています

@XmlRootElement 
@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL) 
@Data 
public class SomeObject implements Serializable { 

private static final long serialVersionUID = -3711391025272861884L; 

private IInterface config; 

@XmlElement 
public IInterface getConfig() { 
    return config; 
} 
} 

ここで、IInterfaceはJavaインターフェイスタイプです。

Jax-wsは爆弾を出して言っています: SomeObjectのアクセサヌル:インターフェイスタイプはxmlタイプではありません。 - > [ヘルプ1]

私の周りGoogleで検索してきたし、これを行う方法を考え出したていません。どのようにしてJax-wsにこのインターフェースを扱うかを伝えることができますか?

答えて

1

あなたは、コンクリートのimplのタイプを指定する@XmlElement注釈を使用してインターフェイスタイプであるフィールド/プロパティにマップすることができます詳細情報

@XmlRootElement 
@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL) 
@Data 
public class SomeObject implements Serializable { 

    private static final long serialVersionUID = -3711391025272861884L; 

    private IInterface config; 

    @XmlElement(type=IInterfaceImpl.class) 
    public IInterface getConfig() { 
     return config; 
    } 
} 

+1

誠にありがたいおかげで!残念なことに、私の検索でその投稿につながったわけではありません。 – Brian

関連する問題