Я создаю веб-приложение REST
, используя Netbean 7.1.1 Glassfish 3.1.2
У меня есть 2 URL:
"http://myPage/resource/getall/name" (get some data by name)
"http://myPage/resource/getall" (get all data)
Когда клиент отправляет запрос с использованием первого URL-адреса, вызывается сервлет ниже и выполняет некоторый процесс.
@Path("getall/{name}")
@GET
@Produces("application/json")
public Object Getall(@PathParam("name") String customerName) {
//here I want to call SQL if customerName is not null. is it possible???
}
Но я также хочу, чтобы второй URL-адрес вызывал этот сервлет.
Я думал, что сервлет будет вызван, и я могу просто проверить имя_пользователяNNO, а затем вызвать другой SQL и так далее.
Но когда клиент отправляет запрос с использованием второго URL (т.е. без параметра пути), сервлет не вызывается, потому что URL-адрес не имеет параметра пути {name}.
Невозможно ли вызвать второй URL-адрес и вызвать сервлет выше?
Один из вариантов, о котором я могу думать, - использовать query parameter
:
http://myPage/resource/getall?name=value
Может быть, я могу разобрать его и посмотреть, есть ли "value"
null, а затем предпринять соответствующие действия.