1

J'ai une classe Controller annotée avec @RestController contenant les annotations @ReguestMapping sur les méthodes de classe pour identifier les extrémités.Spring Boot en utilisant RestController et ServletRegistrationBean dans la même application

Je dois ajouter un SpeechletServlet (une partie du Alexa-skill-kit) pour recevoir des demandes à un point de terminaison /zebra-tape en même temps que les autres points de terminaison sont toujours disponibles.

En utilisant le code ci-dessous je lâche l'accès aux points d'extrémité annotée avec @RequestMapping

public class Application extends SpringBootServletInitializer { 

    @Bean 
    public ServletRegistrationBean dispatcherServletRegistration() { 
     ServletRegistrationBean registration = new ServletRegistrationBean(new ZebraTapeServlet()); 
     registration.addUrlMappings("/zebra-tape"); 
     return registration; 
    } 
} 

Comment puis-je avoir accès aux deux types de critères d'évaluation? Renommez votre méthode de haricot en autre chose que dispatcherServletRegistration

+0

Les documentations de printemps suggèrent la bonne réponse ci-dessous. https://docs.spring.io/spring-boot/docs/current/reference/html/howto-traditional-deployment.html#howto-convert-an-existing-application-to-spring-boot –

Répondre

1

Ce nom est utilisé par Spring Boot pour le bean d'enregistrement pour le servlet du répartiteur configuré automatiquement. En déclarant une méthode bean avec le même nom, vous désactivez cette configuration automatique.