Question

Je joue avec Spring MVC 3.1 et teste différentes fonctionnalités. Je voulais vérifier la déclaration suivante tirée de @ Requestmapping # valeur doc

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

J'ai donc créé le contrôleur suivant avec plusieurs méthodes de gestionnaire par défaut.

@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!";
    }
}

Voici la configuration du contexte de l'application Web

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

Mais il semble que j'ai gâché quelque chose car cela me donne une erreur après l'erreur au moment du déploiement:

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.

Maintenant, la question est que ce contrôleur modèle ce qui est écrit dans le document? Je sens que je ne l'ai pas compris correctement. Veuillez me guider pour modéliser le contrôleur pour faire correspondre l'instruction sur plusieurs gestionnaires par défaut.

Merci, Amit

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top