2009-05-20 8 views
7

consideran este controlador MVC primavera:problema con el controlador basado en la anotación Spring MVC y @RequestMapping

@Controller 
@RequestMapping("/test*") 
public class TestController { 

    @RequestMapping(method = RequestMethod.GET) 
    public void doStuff(Model model){ 
    ... 
    } 

    @RequestMapping(params = "myParam") 
    public void doStuff(@RequestParam("myParam") int myParam, Model model){ 
    ... 
    } 

} 

Cuando puse esto en mi navegador:

mySite.com/test.html?myParam=1 

Me espera un AmbiguousHandlerMappingException o algo así, ya que ambos métodos parecen coincidir con la URL.

Pero en realidad se llamó al primer método. ¿Alguien sabe por qué?

+0

¿Qué versión de Spring estás utilizando? – skaffman

+0

Estoy usando 2.5.6 –

Respuesta

5

Esto huele a error. Si agrega method = GET al segundo manejador, funciona como se esperaba, entonces esa es la solución.

He enviado un informe de error al respecto, espero que se solucione.

http://jira.springframework.org/browse/SPR-5772

+1

Este problema se solucionará en la versión RC1. – skaffman

+2

SPR-5772 ahora está resuelto y estará en RC1. – skaffman

Cuestiones relacionadas