Spring 在同一应用程序中使用 RestController 和 ServletRegistrationBean 启动
Spring Boot using RestController and ServletRegistrationBean in same application
我有一个带有 @RestController
注释的控制器 class,其中包含 class 方法上的 @ReguestMapping
注释以识别端点。
我需要添加一个 SpeechletServlet
(Alexa-skill-kit 的一部分)以在端点 /zebra-tape
处接收请求,同时其他端点仍然可用。
使用下面的代码我失去了对用 @RequestMapping
注释的端点的访问
public class Application extends SpringBootServletInitializer {
@Bean
public ServletRegistrationBean dispatcherServletRegistration() {
ServletRegistrationBean registration = new ServletRegistrationBean(new ZebraTapeServlet());
registration.addUrlMappings("/zebra-tape");
return registration;
}
}
我怎样才能访问这两种类型的端点?
将您的 bean 方法重命名为 dispatcherServletRegistration
以外的名称。 Spring Boot 使用该名称作为自动配置的调度程序 servlet 的注册 bean。通过声明一个具有相同名称的 bean 方法,您将关闭该自动配置。
我有一个带有 @RestController
注释的控制器 class,其中包含 class 方法上的 @ReguestMapping
注释以识别端点。
我需要添加一个 SpeechletServlet
(Alexa-skill-kit 的一部分)以在端点 /zebra-tape
处接收请求,同时其他端点仍然可用。
使用下面的代码我失去了对用 @RequestMapping
public class Application extends SpringBootServletInitializer {
@Bean
public ServletRegistrationBean dispatcherServletRegistration() {
ServletRegistrationBean registration = new ServletRegistrationBean(new ZebraTapeServlet());
registration.addUrlMappings("/zebra-tape");
return registration;
}
}
我怎样才能访问这两种类型的端点?
将您的 bean 方法重命名为 dispatcherServletRegistration
以外的名称。 Spring Boot 使用该名称作为自动配置的调度程序 servlet 的注册 bean。通过声明一个具有相同名称的 bean 方法,您将关闭该自动配置。