我有一个休息服务,现在验证日期我需要修改它以采取两个日期,但我不知道是否使用@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) {
答案 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);
/*
...
*/
}