6

如何获得 Jersey 的原始 POST? @FormParam不起作用,因为我不在任何特定的 POST 字段中发布原始 JSON。

4

2 回答 2

6

Jersey 提供了一个用于将 JSON 映射到 Java 对象的提供程序。要将您的请求正文映射到一个对象,只需将该对象指定为您的资源方法的参数。如果您想要原始 JSON,请将对象指定为 type 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) {
        // ....
    }
}
于 2013-02-18T16:14:53.463 回答
1
@POST
public String handleRequest(String requestBody) {
    logger.info(requestBody);
    return "ok";
}
于 2014-05-12T21:33:06.080 回答