2017-04-20 6 views
0

私のエンドポイントにあるjsonを解析する必要があります。 着信jsonを変更できません。サードパーティから送信されます。リクエストボディのjsonは技術的には有効ですが、親要素がないため、解析できないようです。元だった場合親オブジェクト内の受信jax-rs POST jsonメッセージ本文をラップします

{ 
    "wrapper": { 
    { 
     "value1": 1, 
     "value2": 2, 
     "value3": 3 
    } 
    } 
} 

:理想的には私はとても基本的に、どのように私は実際に「ラッパー」オブジェクトを追加することができ、オブジェクトに全体をラップすることができるだろうことで

{ 
    "value1": 1, 
    "value2": 2, 
    "value3": 3 
} 

私は、プロジェクトの他の場所でこのような何か持っているように私はモデルと使用するXML注釈を作ることができる:

@XmlRootElement(name = "wrapper") 
@XmlAccessorType(XmlAccessType.NONE) 
public class WrapperObject { 

    @XmlElement(name = "value1") 
    private int value1; 
    @XmlElement(name = "value2") 
    private int value2; 
    @XmlElement(name = "value3") 
    private int value3; 
} 

をそして私は、残りの方法が可能かもしれない

@POST 
@Path("/cloud") 
@Override 
public Response handleResponse(WrapperObject wrapper) throws Exception { 
} 

答えて

0

あなたの質問は答えですから、私の答えは質問になります。何を尋ねているのですか? p.s.あなたのアイデアとコードはきれいに見えます。プロジェクトがフロントエンドチームとバックエンドチームの間に広がっている場合、データ転送オブジェクトについて常に契約を結ぶ必要があるため、両者の解析が可能です。

+0

私の質問には、私が見たいものの例があります。私は、残りのメソッドで直接ラッパーオブジェクトを解析できるようにしたいです –

+0

ラッパークラスを持つGsonまたはjacksonオブジェクトを構築する必要があります – strash

+0

あなたのレストサービスの@requestparamとしてラッパーオブジェクトを入れよう – strash

関連する問題