Combine los métodos de solicitud GET y POST en Spring

Tengo un recurso que soporta tantoGET yPOST peticiones. Aquí un código de muestra para un recurso de muestra:

@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
}

El código en los dos métodos es prácticamente el mismo, excepto por decir una definición variable. Los dos métodos se pueden combinar fácilmente usandomethod = {RequestMethod.POST, RequestMethod.GET}, y un simpleif dentro. Lo intenté, pero no funciona, porque los dos métodos tienen un parámetro diferente al final, es decir,HttpServletRequest yBindingResult (la@RequestParamNo son requeridos y por lo tanto no son necesarios en elPOST solicitud). ¿Alguna idea de cómo combinar los dos métodos?

Respuestas a la pregunta(3)

Su respuesta a la pregunta