Jak mogę uzyskać surowy test POST z Jersey? @FormParam
nie będzie działać, ponieważ publikuję surowy JSON w żadnym określonym polu POST.Jak zdobyć surowy POST z Jersey?
6
A
Odpowiedz
6
Jersey jest dostarczany z dostawcą mapującym JSON na obiekty Java. Aby zmapować swoją treść żądania do obiektu, po prostu określ ten obiekt jako argument dla metody zasobów. Jeśli chcesz surowego JSON, określ obiekt, który ma być typu java.lang.String
.
@Path("/mypath")
public class MyResource {
/**
* @param pojo Incoming request data will be deserialized into this object
*/
@POST
@Path("/aspojo")
@Consumes(MediaType.APPLICATION_JSON)
public Response myResourceMethod(MyPojo pojo) {
// ....
}
/**
* @param json Incoming request data will be deserialized directly into
* this string
*/
@POST
@Path("/asjson")
@Consumes(MediaType.APPLICATION_JSON)
public Response myResourceMethod(String json) {
// ....
}
}
1
@POST
public String handleRequest(String requestBody) {
logger.info(requestBody);
return "ok";
}