REST APIに2つのハンドラーを同じルートであるが異なる照会パラメーターで追加しようとしています。私は/getStudents
ルートがすべての学生を返すようにしたいのに対し、/getStudents?studentName=SomeName
は与えられた学生の詳細だけを返すべきです。しかし、私がこれを実行するとき、私が/getStudents
ルートに行っても、2番目の関数だけが実行されます。私は次のコードを持っています:2つのハンドラーを同じルートに別の照会パラメーターで登録する
@Produces(MediaType.APPLICATION_JSON)
public class StudentService {
private StudentDAO studentDAO;
@GET
@Path("getStudents")
public List<Student> getStudents() {
return studentDAO.getStudents();
}
@GET
@Path("getStudents")
public Student getStudentById(@QueryParam("studentName") String studentName) {
return studentDAO.getStudentsById(studentName);
}
public void setStudentDAO(StudentDAO studentDAO) {
this.studentDAO = studentDAO;
}
public StudentDAO getStudentDAO() {
return studentDAO;
}
}
私はJavaとJ2EEが初めてです。
ありがとうございます、buクエリパラメータを使用してそれを行う方法はありますか? – ayushgp
JAX-RSを使用してこれを行うことはできません。 FWIW、英語では、@Path( "getStudents")が複数であるのとは対照的に、学生のIDが提供されたときに通常は '@Path(" getStudent ")'学生の)。 –