Połącz metody GET i POST na wiosnę
Mam zasób, który obsługuje obaGET
iPOST
upraszanie. Oto przykładowy kod przykładowego zasobu:
@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
}
Kod w obu metodach jest praktycznie taki sam, z wyjątkiem powiedzmy definicji zmiennej. Obie metody można łatwo łączyć za pomocąmethod = {RequestMethod.POST, RequestMethod.GET}
i prostyif
wewnątrz. Próbowałem, ale to nie działa, ponieważ dwie metody mają inny parametr na końcu, tj.HttpServletRequest
iBindingResult
(@RequestParam
nie są wymagane i dlatego nie są potrzebne wPOST
żądanie). Jakieś pomysły, jak połączyć obie metody?