Я строю REST
веб-приложение с использованием Netbean 7.1.1 Glassfish 3.1.2
REST, как пройти пустые параметры пути?
У меня есть 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-адрес вызывал этот сервлет.
Я думал, что сервлет будет вызван, и я могу просто проверить имя_пользователя == null, а затем вызвать другой SQL и так далее.
Но когда клиент отправляет запрос с использованием второго URL (т. Е. Без параметра пути), сервлет не вызывается, потому что URL-адрес не имеет параметра пути {name}.
Невозможно ли вызвать второй URL-адрес и вызвать сервлет выше?
Один из вариантов я могу думать о том, чтобы использовать query parameter
:
http://myPage/resource/getall?name=value
Может быть, я могу разобрать его и посмотреть, если "value"
равно нулю, то принимать соответствующие меры ..
Спасибо, я пробовал и работал отлично! –
Привет! Что делать, если ситуация следующая: «http: // myPage/resource/getall/name? Type = json» «http: // myPage/resource/getall? Type = json» Решение выше не работает. – Andrew
@ Andrew пожалуйста, создайте новый вопрос. Без какого-либо контекста ответить на вопрос невозможно. – andih