REST как передать пустой параметр пути?

Я создаю 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-адрес вызывал этот сервлет.

Я думал, что будет вызван сервлет, и я могу просто проверить customerName == null, а затем вызвать другой SQL и так далее.

Но когда клиент отправляет запрос, используя второй URL-адрес (, то есть без параметра пути ), сервлет не вызывается, поскольку URL-адрес не имеет параметра пути {name}.

Нельзя ли вызвать второй URL и вызвать указанный выше сервлет?

Одна альтернатива, которую я могу придумать, это использоватьquery parameter:

http://myPage/resource/getall?name=value

Может быть, я могу разобрать его и посмотреть, является ли "value"нулевым, а затем принять соответствующие меры..

13
задан masato-san 14 April 2012 в 07:50
поделиться