2017-05-12 2 views
0

내 리소스가 지금까지 제대로 작동했습니다. 거기에 @QueryParam을 추가했습니다. 쿼리 매개 변수를 uri에 쓰지 않고 요청을하면 제대로 작동합니다. uri 404 코드 응답에 쿼리 param을 작성한 후.RESTful API 리소스가 추가 될 때 404가 반환됩니다. @QueryParam

@GET 
    @Path("{id}/appointments") 
    @UnitOfWork 
    @JsonView(Views.DoctorView.class) 
    public List<?> getDoctorAppointments(@Auth LoggedUser loggedUser, 
             @QueryParam("date") Date date, 
             @QueryParam("timePeriod") TimePeriod timePeriod, 
             @PathParam("id") int id 
             ) { 
     if(date != null && (timePeriod == null || timePeriod.equals(TimePeriod.TODAY))){ 
      return appointmentDAO.getDoctorsAppointmentsByDate(id, date); 
     } 
     if(date != null && timePeriod.equals(TimePeriod.WEEK)){ 
      return appointmentDAO.getDoctorsNumberOfAppointmentsForWeek(date, id); 
     } 
     return appointmentDAO.getAppointments(id, UserType.DOCTOR); 
    } 

답변

0

404가 표시되면 HTTP 요청을 올바르게 보내지 않은 것으로 의심됩니다. 쿼리에 대한 나의 가정/승 date 또는 timePeriod PARAM에서 당신은

GET http://my-site/1/appointments 

을 발행 그리고 당신은 날짜를 통과하려고 404을 받고 있다면 당신은 아마

GET http://my-site/1/appointments/date=2017-01-13 

또는 발행되어 있습니다 이 잘 작동하고 date 쿼리 PARAM을 전달해야하는 반면, 404 초래이

GET http://my-site/1/appointments/2017-01-13 

GET http://my-site/1/appointments?date=2017-01-13 

내가 잘못 생각한 것 같습니다. 문의하신 URL이 어떤 모습인지 알려 주시면 더 많은 문제를 해결할 수 있습니다.

+1

나는 이미 그것을 풀었다. 문제는 날짜 쿼리 매개 변수가 java의 util.Date라는 것입니다. 문자열로 변경 한 다음 캐스팅하면 작동합니다. :) –

관련 문제