我有控制器映射/user
和/order
:
@RestController
@RequestMapping("/users")
public class UserController {
...
}
@RestController
@RequestMapping("/orders")
public class OrderController {
...
}
我想分别通过URL http://localhost:8080/api/users
和访问这些URL
http://localhost:8080/api/orders
。
如何在Spring Boot中实现这一目标?
您可以/api/*
在自定义配置中提供到Spring Boot应用程序的根上下文路径的映射。
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 dispatcherServletRegistration() {
ServletRegistrationBean registration = new ServletRegistrationBean(
dispatcherServlet(), "/api/");
registration.setName(DispatcherServletAutoConfiguration.DEFAULT_DISPATCHER_SERVLET_REGISTRATION_BEAN_NAME);
return registration;
}
}
或将此添加到您的application.properties
in src\main\resources
文件夹中
server.contextPath=/api/*
编辑
从Spring Boot 2.x开始,该属性已被弃用,应替换为
server.servlet.contextPath=/api/*
您可以在此处找到更多的内容Spring Boot Context
Root,
并在此处将servlet映射添加到DispatcherServlet
我想通过URL分别访问和。 如何在Spring Boot中实现这一点?
在一个项目中,当我将代码切换到主分支时,我开始发现一些错误。其中之一是加载异常错误。整个日志还显示了一个No Suck method异常错误。 我也想发布控制器,但因为它超过600行,我不确定这是否有帮助,我已经确保控制器中的每个方法都是公共的,唯一的私有部分是我使用的变量和图表。
在spring boot中@RequestBody内容到达控制器之前,我如何覆盖它? > 此外,我还搜索了Request estBodyAdviceAdapter。 有几个链接对spring boot不起作用。 如何多次读取request.getInputStream() 如何在Spring引导到达控制器之前修改请求正文 现在,我可以将输入流读入字符串中,进行一些修改并设置回控制器的输入流吗?
我试图找到它,但我发现了很多不同的场景,但没有这一个。 我想做的是在com.myproject.api下的控制器中的所有路由中添加“/api/”前缀。我希望com.myapp.api包下的所有控制器使用“/api/*”,而com.myapp.web包下的所有控制器不使用前缀 用Spring/Spring靴可以吗?
问题内容: 我知道您可以设置in 来更改根上下文。 另外,我可以在Spring Boot的应用程序配置中添加一个附加上下文,如以下示例(在Groovy中),以便在根上下文的URL映射中添加“ / api”: 我正在尝试为Web服务调用专门准备一个单独的基本URI“ / api”,我可以利用它来提高安全性,等等。但是,使用上述方法将意味着可以通过以下方式访问我的任何URI(无论是否为Web服务) “
问题内容: 为了提供一些运行时生成的API文档,我想遍历所有Spring MVC控制器。所有控制器都使用Spring @Controller注释进行注释。目前我是这样的: 但是这个代码的第一个电话是EXTREMELY缓慢。我想知道Spring是否迭代类路径中的所有类,而不是仅检查定义的bean。运行上述代码时,控制器已经加载,日志显示了所有控制器及其请求映射,因此Spring MVC必须已经了解所