如何用Jersey获得原始POST?

时间:2013-02-18 16:12:08

标签: post jersey

如何使用Jersey获取原始POST? @FormParam将无效,因为我在任何特定的POST字段中都没有发布原始JSON。

2 个答案:

答案 0 :(得分:6)

Jersey提供了一个将JSON映射到Java对象的提供程序。要将请求主体映射到对象,只需将该对象指定为资源方法的参数。如果需要原始JSON,请将对象指定为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 :(得分:1)

@POST
public String handleRequest(String requestBody) {
    logger.info(requestBody);
    return "ok";
}