У меня есть ресурс, который поддерживает запросы 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
не требуются и поэтому не нужны в запросе POST
). Любые идеи о том, как объединить два метода?