2016-07-21 17 views
0

Wenn ich einen POST-Textkörper hinzufüge, kann ich keine Pfadparameter lesen.Die Pfadparameter konnten nicht gelesen werden, wenn der POST-Textkörper hinzugefügt wurde

public class POJO { 
    public int id; 

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

...

@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 
} 

ich /Test POST/x/y

Körper:

{ 
    "id" : 1 
} 

Header:

Content-Type : application/json 

Ich schaute auf das Beispiel https://docs.jboss.org/resteasy/2.0.0.GA/userguide/html_single/ Und kann nicht herausfinden, warum ich die Pfadparameter nicht lesen kann. Hier ist ein JBoss Beispiel:

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

die BookID und und Kommentar Vars werden nicht bewertet, wenn die Verfahren ausgeführt wird? – davidxxx

+0

Der Code mit Buch-ID und Kommentar ist ein Beispiel aus dem Resteasy-Link oben. Mein Code hat die Parameter a, b und pojo – Boundless

+0

Ich sehe es. Aber ist Ihr Pfad Parameter nicht bewertet (Null), wenn die Methoden ausgeführt werden? – davidxxx

Antwort

0

Danke @davidhxxx mein Problem der falsche Import für PathParam war.

hatte ich import javax.websocket.server.PathParam; statt import javax.ws.rs.PathParam;

+0

Sie sind herzlich willkommen :) – davidxxx