Объединение методов запроса GET и POST в Spring
У меня есть ресурс, который поддерживает обаGET
а такжеPOST
Запросы. Вот пример кода для примера ресурса:
@RequestMapping(value = "/books", method = RequestMethod.GET)
public ModelAndView listBooks(@ModelAttribute("booksFilter") BooksFilter filter, two @RequestParam parameters, HttpServletRequest request)
throws ParseException {
LONG CODE
}
@RequestMapping(value = "/books", method = RequestMethod.POST)
public ModelAndView listBooksPOST(@ModelAttribute("booksFilter") BooksFilter filter, BindingResult result)
throws ParseException {
SAME LONG CODE with a minor difference
}
Код в двух методах практически одинаков, за исключением, скажем, определения переменной. Два метода могут быть легко объединены с помощьюmethod = {RequestMethod.POST, RequestMethod.GET}
и простойif
внутри. Я пытался, но это не такне работает, потому что оба метода имеют разные параметры в конце, т.е.HttpServletRequest
а такжеBindingResult
(@RequestParam
s не требуются и, следовательно, не нужны вPOST
запрос). Есть идеи, как совместить два метода?