2017-05-12 15 views
0

私のリソースは今まで正常に動作していました。そこに@QueryParamを追加しました。私はuriにクエリのparamを書かずにリクエストするとうまくいきます。 uri 404コードの応答にクエリのパラメータを書き込んだ後。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リクエストを正しく発行していない可能性があります。私のクエリのための前提あなたは

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

を発行することがありますワット/アウトdateまたはtimePeriodのparamそして、あなたが日付をパスしようとあなたが

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

それともを発行している404を取得している場合これが正常に動作してdateクエリのparamに渡す必要があるのに対し、404につながるこの

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

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

私は間違っているかもしれません。あなたが照会しているURLがどのように見えるのか教えてください。私たちはもっとトラブルシューティングをすることができます。

+1

私はすでにそれを解決しました。問題は、日付クエリのparamがjavaのutil.Dateであることでした。私はそれを文字列に変更し、それをキャストし、今すぐ動作します:) –

関連する問題