我有一个Spring Boot 2应用程序,主要用于REST端点,并且我想通过bean配置为端点添加前缀,而不是在application.yml文件中进行设置以使该前缀成为全局前缀。即example.com/api / 我知道您也可以在控制器类上使用注释对其进行配置,但是我想知道是否可以使用一个豆子。
答案 0 :(得分:2)
您可以通过以下方式进行操作:
import org.springframework.boot.autoconfigure.web.DispatcherServletAutoConfiguration;
import org.springframework.boot.context.embedded.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.DispatcherServlet;
@Configuration
public class DispatcherServletCustomConfiguration {
@Bean
public DispatcherServlet dispatcherServlet() {
return new DispatcherServlet();
}
@Bean
public ServletRegistrationBean servletRegistrationBean() {
ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(
dispatcherServlet(), "/api/");
servletRegistrationBean.setName(DispatcherServletAutoConfiguration.DEFAULT_DISPATCHER_SERVLET_REGISTRATION_BEAN_NAME);
return servletRegistrationBean;
}
}