2016-12-08 21 views
1

次のメッセージは、メッセージ本体にHTTPリクエストの一部として渡されるJSONです。JAX-RS RESTメソッドでJSONメッセージ本文を取得する方法は?

{ 
    "names": [ 
     { 
      "id":"<number>", 
      "name":"<string>", 
      "type":"<string>", 
     } 
    ] 
} 

私の現在のRESTハンドラは以下の通りです。私はIdと `Pathパラメータとして渡された` Versionを取得することができますが、のの内容を取得する方法がわかりません。

 @PUT 
     @Path("/Id/{Id}/version/{version}/addPerson") 
     public Response addPerson(@PathParam("Id") String Id, 
               @PathParam("version") String version) { 

      if (isNull(Id) || isEmpty(version)) { 
       return ResponseBuilder.badRequest().build(); 
      } 

      //HOW TO RECIEVE MESSAGE BODY? 

      //carry out PUT request and return DTO: code not shown to keep example simple 


      if (dto.isSuccess()) { 
       return Response.ok().build(); 
      } else { 
       return Response.serverError().build(); 
      } 

} 

注:私はJAX-RSフレームワークを使用しています。あなたはちょうどここに、POJOに自分の名前のJSONを地図から検索putメソッドに@Consumes注釈を追加する必要が

+0

何ウェブフレームワークを使用していますか? –

+0

Jax RSは、私が使用しているフレームワークです – java123999

+0

POST要求に対してどのようにしましたか? 1)あなたのメソッドに@Consumes( "application/json")が必要だと思うので、あなたはボディと他の情報を得ることができる '@ Context'パラメータを追加することができるはずです –

答えて

1

は一例です:

@PUT 
@Consumes("application/json") 
@Path("/Id/{Id}/version/{version}/addPerson") 
public Response addPerson(@PathParam("Id") String Id, 
          @PathParam("version") String version, 
          List<NamObj> names) { 

私はあなたがある場合は要素のリストを取得しようとしていると仮定します大文字と小文字の区別はありません。

サーバーで使用しているjsonライブラリによっては、POJOに@xmlアノテーションを追加する必要があるため、パーサーはリクエストのマッピング方法を知ることができます。例jsonのマッピングは次のようになります。

@XmlRootElement 
public class NameObj { 
    @XmlElement public int id; 
    @XmlElement public String name; 
    @XmlElement public String type; 
} 

ジャージードキュメント:https://jersey.java.net/documentation/latest/user-guide.html#json

@cosumesを参照:あなたはhttp://docs.oracle.com/javaee/6/tutorial/doc/gilik.html#gipyt

+0

パラメータ内のListに@Contextアノテーションは必要ありませんか? – java123999

+0

私はあなたがそれを必要とは思わない、あなたは自分自身にコンテキストにアクセスする必要はありませんjax-rsはあなたのメソッドにjsonオブジェクトを取得し、jsonパーサーはそれをあなたのリストにマップします。 –

+0

Xmlアノテーションはjsonドキュメントで機能しますか? –

関連する問題