2017-12-05 7 views
0

以下のようにレストサービスを使用する必要があります。 jersyクライアントカスタムメディアタイプレストコールポスト操作を使用する

@POST 
@Produces("application/vnd.app.mail-service+json") 
@Consumes("application/vnd.app.mail-service+json") 
public TempResponse submit(TempRequest request) { 

} 

ここで、TempRequestはJAXBオブジェクトです。

サービスをjavascriptから使用するには受け入れ、「アプリケーション/ vnd.app.mailサービス+ JSON」と要求を提出するには、JSONリクエスト

{ 
    "TempRequest" :{ 
     "TempR1" : { 
      "id" : "1212", 
      "name" : "app", 
     } 
    } 
} 

を送信するなどのContent-Typeを設定して、サービスアプリケーションで受信した要求本体があれば、空であります私は "+ xml"を両方の消費で試して、コンテンツのタイプを生成して変更しますが、リクエストボディは空ではありません。 jacsonコアとASLと春に展開4.3.7アプリケーションでJersy-cleintおよびJAX-RSを使用して

- 1.19.3

+0

「TempRequest」とは何ですか?あなたのカスタムクラスですか? – Ravi

+0

それはカスタムクラス –

答えて

0

私はなぜあなたはapplication/vnd.app.mail-service+jsonを使用して代わりにapplication/jsonされているかわかりません。

@Produces(MediaType.APPLICATION_JSON) 
@Consumes(MediaType.APPLICATION_JSON) 

に変更する

同じニーズと私は願って、あなたは、JAXBクラスですTempRequestクラスで同様の変化を、持っています。

@XmlRootElement(name="TempRequest") 
@XmlAccessorType(XmlAccessType.FIELD) 
public class TempRequest { 

    @XmlElement(name="TempR1") 
    private TempR1 temp; 

    public TempRequest() {} 

    // Getter and setter methods 
    // ... 
} 
+0

です。すでにサービスが起動しており、カスタムメディアタイプのサービスを使用する必要があります。消費する部分にjaxbオブジェクトを作成して動作させる必要があるかどうかを確認してください。 –

+0

ジャージーはインスタンス化カスタムオブジェクトの。 – Ravi

関連する問題