Estoy jugando con Spring MVC 3.1 y probando diferentes funciones. Quería verificar siguiente declaración tomada de @RequestMapping#value docSpring MVC 3: asignación ambigua hallada
If you have a single default method (without explicit path mapping), then all requests without a more specific mapped method found will be dispatched to it. If you have multiple such default methods, then the method name will be taken into account for choosing between them
Así que creé siguiente controlador con múltiples métodos de controlador por defecto.
@Controller
@RequestMapping("/book")
public class BookController {
@RequestMapping
public @ResponseBody String greet() {
return "Hi Book!";
}
@RequestMapping
public @ResponseBody String meet() {
return "Nice to meet you Book!";
}
}
Aquí es la aplicación web de configuración contexto
<beans ....>
<!-- Use @Component annotations for bean definitions -->
<context:component-scan base-package="com.botreeconsulting.lms.web"/>
<!-- Use @Controller annotations for MVC controller definitions -->
<mvc:annotation-driven />
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix">
<value>/WEB-INF/views/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
</beans>
pero parece que metí la pata algo, ya que me está dando siguiente error en el momento de la implementación:
java.lang.IllegalStateException: Ambiguous mapping found. Cannot map 'bookController' bean method
public java.lang.String com.botreeconsulting.lms.web.BookController.meet()
to {[/book],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}: There is already 'bookController' bean method
public java.lang.String com.botreeconsulting.lms.web.BookController.greet() mapped.
Ahora la pregunta ¿este controlador modela lo que está escrito en el documento? Siento que no lo entendí correctamente. Por favor, guíame para modelar el controlador para que coincida con la declaración sobre múltiples controladores predeterminados.
Gracias, Amit
'mydefault()' manejará/libro solo no/libro/abc. –
Arun, 'Si tiene varios de estos métodos predeterminados ...'. ¿Es posible configurar múltiples métodos predeterminados? –
¿Qué quiere decir con múltiples valores predeterminados? En cualquier diseño solo habrá un predeterminado –