Обработка GET запроса по одному URL

316
04 ноября 2017, 12:28

Есть список юзеров на /user/all. Как сделать что бы в контроллере можно было обрабатывать GET запросы такого типа /user/all?name=Ivan

Если в контроллере написать два метода

@RequestMapping(value = "/user/all", method = "RequestMethod.GET")
public String allUser() {
}
@RequestMapping(value = "/user/all", method = "RequestMethod.GET")
public String allUserParam(@RequestParam("name") String name) {
}

То будет ошибка, потому что метод GET по этому URL уже есть. Как тогда делать? И еще вопрос, если написать вот так

@RequestMapping(value = "/user/all", method = "RequestMethod.GET")
public String allUserParam(@RequestParam("name") String name) {
}

Но в адресной строке параметра "name" не будет, то будет ошибка. Как проверить на существование этого параметра? Как сделать что б не было ошибки, если юзер сам руками стер его?

Answer 1

Раз параметр опционален, отразите это в аннотации:

@RequestMapping(value = "/user/all", method = "RequestMethod.GET")
public String getUser(@RequestParam("name", required=false) String name) {
    if (name != null) {
    } else {
    }
}
READ ALSO
Параллельное программирование в андроид

Параллельное программирование в андроид

В андроид есть поддержка c++, значит можно на базе андроид смартфонов организовывать параллельные вычисления на OpenMP? Есть ли такая поддержка...

229
Как получить курс валют Yahoo в формате json или xml Yahoo Api

Как получить курс валют Yahoo в формате json или xml Yahoo Api

Кто знает как получить курс валют yahoo? Раньше получал с помошью строки запроса Yahoo Console, или это Тоже самое но Json, но теперь они не работают,...

376
Не работает привязка с GridBagLayout

Не работает привязка с GridBagLayout

Почему не работает привязка элемента к GridBagLayout? textField всегда отображается посередине окна

299
Почему не выводится информация log.info?

Почему не выводится информация log.info?

Взял пример с урока по нейронным сетям, уже полностью все скопировал - почему-то у меня информация с loginfo не выводится, хотя код работает - через...

256