2017-03-01 152 views
0

我有一個休息服務,它驗證日期現在我需要修改它需要兩個日期,但我不知道如果使用@PathParam@QueryParam,如果我可以插入它之間2 @PathParam
這一點,原代碼:JAVA休息兩個日期路徑參數或查詢參數

@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) { 

回答

1

如果你不想使用第三方的東西,我建議你定義的文本日期的格式。你可以使用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); 

/* 
... 
*/ 
} 
1

Date類是使用JAX-RS,因爲它不是一個簡單的類型無法序列。您需要使用MessageBodyReader/Writer開發相同的功能。 Click Here更多

或者您可以使用一些第三方的東西來配置完成它。

Click Here更多