我的资源到目前为止工作正常。我在那里添加了@QueryParam。如果我在没有向uri编写查询参数的情况下发出请求就可以了。在我将查询参数写入uri 404代码响应之后。
@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 :(得分:0)
如果您收到404,我怀疑您没有正确发出HTTP请求。我对查询的假设没有您要发出的date
或timePeriod
参数
GET http://my-site/1/appointments
如果您尝试通过日期并获得404,则表示您正在发布
GET http://my-site/1/appointments/date=2017-01-13
或许这个
GET http://my-site/1/appointments/2017-01-13
哪个会导致404,而这应该可以正常工作并传入date
查询参数
GET http://my-site/1/appointments?date=2017-01-13
我可能猜错了。让我知道您查询的网址是什么样的,我们可以解决更多问题。