2016-07-21 1 views
0

POSTボディを追加すると、パスパラメータを読み取ることができません。POSTボディを追加したときにパスパラメータを読み取ることができません

public class POJO { 
    public int id; 

    public void setId(int id){ 
     this.id = id; 
    } 
} 

... Iは /試験/ X/Y

体に投稿

@POST 
@Path("/test/{a}/{b}") 
@Consumes(MediaType.APPLICATION_JSON) 
@Produces(MediaType.TEXT_PLAIN) 
public Response test(@PathParam("a") String a, @PathParam("b") String b, POJO pojo){ 
    // a has the value of the POST body 
    // b is empty 
    // pojo is null 
} 

{ 
    "id" : 1 
} 

ヘッダ:

Content-Type : application/json 

私は例を見てhttps://docs.jboss.org/resteasy/2.0.0.GA/userguide/html_single/ パスパラメータを読み取ることができない理由を理解できません。ここで は、JBossの例です:

@POST 
@Path("book/{id}/comments") 
public void addComment(@PathParam("id") String bookId, Comment comment); 
+0

bookIdを持っていたし、メソッドが実行されたときにコメントVARSが評価されていませんか? – davidxxx

+0

書籍のIDとコメントのコードは、上のresteasyリンクの例です。私のコードは、パラメータa、b、pojoを持っています – Boundless

+0

私はそれを見ます。しかし、メソッドが実行されると、あなたのパスパラメータは評価されません(null)か? – davidxxx

答えて

0

は、あなたが私の問題は、PathParamの誤っ輸入した@davidhxxxありがとうございました。

私はimport javax.websocket.server.PathParam;代わりのimport javax.ws.rs.PathParam;

+0

あなたは歓迎です:) – davidxxx

関連する問題