使用PathParam和JSON对象的Jersey POST操作

时间:2013-12-24 05:52:10

标签: post jersey

按照设计,GET操作应仅用于只读操作。 Howeevre,我正在寻找一种合理的方式来实现follow.Implement一个可以调用的POST操作,如下所述

POST / my-store / order / D:其中D是客户下订单的日子

请求:POST / my-store / order / 14     {         “客户”:“XYZ”,         “订单”:{             “item1”:2         }     }

我尝试使用以下功能实现

@Path("/D")
@POST
@Consumes({ MediaType.TEXT_PLAIN, MediaType.APPLICATION_JSON })
@Produces({ MediaType.APPLICATION_JSON })
public Response submitOrder(@PathParam("D") int elapsedDays, @Context UriInfo     uriInfo,     Order orderInfo){
..........
}

但上述实施似乎并不奏效。当我尝试使用MyEclipse REST资源管理器测试实现时,它不提供传递Order对象但仅允许'D'参数的选项。但是,如果@PathParam和@Path被删除,那么它可以正常工作,即允许使用JSON Order对象。

但是,要求是在POST请求中将Path作为Path参数和Order对象作为JSON输入传递。

寻找有关实施方法和设计方法的建议。

提前致谢

1 个答案:

答案 0 :(得分:0)

首先,您的路径应该像这样配置:

@Path("/{D}")

我假设您的扩展省略号表示您有一些表示订单反序列化的方法参数。