JAVA休息两个日期路径参数或查询参数

时间:2017-03-01 12:54:33

标签: java rest parameters

我有一个休息服务,现在验证日期我需要修改它以采取两个日期,但我不知道是否使用@PathParam@QueryParam,如果我可以插入它在两个@PathParam之间 这是原始代码:

 @Path("isDateValid/{date}/{itemId}")
    public boolean isDateValid(@PathParam("date") Date date, @PathParam("itemId") Long itemId) {

我应该这样做:

 @Path("isDateValid/{startDate}/{endDate}/{itemId}")
    public boolean isDateValid(@PathParam("startDate") Date startDate, @PathParam("endDate") Date endDate, @PathParam("itemId") Long itemId) {

2 个答案:

答案 0 :(得分:1)

Date Class无法使用JAX-RS进行序列化,因为它不是简单类型。您需要使用MessageBodyReader / Writer开发相同的内容。 Click Here了解更多

或者你可以使用一些第三方的东西进行配置来完成它。

Click Here了解更多

答案 1 :(得分:1)

如果您不想使用第三方内容,我建议您定义text-date的格式。您可以使用SimpleDateFormat类(避开空格)。您可以使用以下代码。

@Path("isDateValid/{itemId}")
public boolean isDateValid(@PathParam("itemId") Long itemId) {
    @QueryParam("begin") String sBegin; 
    @QueryParam("end") String sEnd;

    SimpleDateFormat sdf = new SimpleDateFormat(/* Your patern, for example "yyMMddHHmmssZ"*/);

    Date dBegin = sdf.parse(sBegin);
    Date dEnd = sdf.parse(sEnd);

/*
...
*/
}