En un controlador Spring, ¿puedo hacer que se llame un método basado en el número de parámetros de solicitud?

He estado adaptando una aplicación web existente con Spring. Claramente, es más fácil comenzar con Spring que agregarlo más tarde.

Tenemos servlets que pueden tomar múltiples parámetros de solicitud. En función del número de parámetros, se tomarán diferentes acciones. Por ejemplo

/doSomething?prod=15

muestra la información del producto 15 y

/doSomething?prod=15&owner=99

establece el propietario del producto 15 a 99 y

/doSomething?prod=15&delete=y

deletes producto 15.

Tengo un controlador funcionando pero no sé cómo llamar a diferentes métodos en función de la cantidad de parámetros. Por ejemplo, esto funciona (método trivial solo para asegurarse de que tengo lo básico funcionando):

@RequestMapping(method=RequestMethod.GET)
public ModelAndView doIt(@RequestParam("prod") int prod, Model model)
{
  ModelAndView mav = new ModelAndView();
  mav.setViewName("jsonView");
  return mav;
}

pero no esto:

@RequestMapping(method=RequestMethod.GET)
public ModelAndView doIt(@RequestParam("prod") int prod, Model model)
{
  ModelAndView mav = new ModelAndView();
  mav.setViewName("jsonView");
  return mav;
}

@RequestMapping(method=RequestMethod.GET)
public ModelAndView doIt(@RequestParam("prod") int prod,
                         @RequestParam("owner") int owner,
                         Model model)
{
  ModelAndView mav = new ModelAndView();
  mav.setViewName("jsonView");
  return mav;
}

Eso arroja una IllegalStateException, "Métodos de controlador ambiguos mapeados para la ruta HTTP '/ mytest'" y continúa para indicar:

Si tiene la intención de manejar la misma ruta en varios métodos, ¡factoríelos en una clase de controlador dedicada con esa ruta asignada en el nivel de tipo!

No entiendo lo que ese mensaje me dice que haga.

Si configuro el método para aceptar más o diferentes parámetros de los que se pasan, obtengo "La solicitud enviada por el cliente era sintácticamente incorrecta ()".

Pau

Respuestas a la pregunta(2)

Su respuesta a la pregunta