У меня есть два REST URL, например:
http://myschool/student/jack //get student information.
http://myschool/student/jack?books //get student books.
код:
@Path("student")
public class StudentResource {
@GET
@Path("{name}")
public Response getInformation(@PathParam("name") String name) {
return Response.ok(loadStudentInformation(name));
}
@GET
@Path("{name}?books") //ineffective expression
public Response getBooks(@PathParam("name") String name) {
return Response.ok(loadStudentBooks(name));
}
Джерси не может обработать второй URL-адрес 'http://myschool/student/jack?books',, он всегда отправляет входящий запрос, который заканчивается'? Books ', первому методу' getInformation '.
Я пытаюсь использовать регулярное выражение, как это:
@GET
@Path("{name : .*(\\?books$)}") //ineffective expression
public Response getBooks(@PathParam("name") String studentName) {
Регулярное выражение тоже неэффективно, может кто-нибудь, пожалуйста, помогите мне разобраться, как это реализовать.
Спасибо.