use*_*167 4 spring spring-boot
考虑下面的代码,
@RestController
@RequestMapping("/v1")
class Controller {
}
Run Code Online (Sandbox Code Playgroud)
我应该做的是,删除 @RequestMapping并通过application.properties配置路径。
我发现有两种方法可以实现这一目标,
spring.mvc.servlet.path=/v1
Run Code Online (Sandbox Code Playgroud)
和
server.servlet.contextPath=/v1
Run Code Online (Sandbox Code Playgroud)
但是它们有什么不同,因为我没有注意到这两种配置有任何区别?哪一个最适合我想要实现的目标?
上下文路径是访问 Web 应用程序时使用的名称。它是应用程序的根目录,默认情况下,Spring Boot 在根上下文路径 (\xe2\x80\x9c/\xe2\x80\x9d) 上提供内容。此上下文路径可以使用属性更改server.servlet.context-path
。
另一方面,servlet 路径代表 main 的路径DispatcherServlet
。默认值类似于上下文路径,即(\xe2\x80\x9c/\xe2\x80\x9d),可以通过配置不同的spring.mvc.servlet.path
属性来更改。鉴于 servlet 属于 servlet 上下文,更改上下文路径也会影响 servlet 路径。
如果您有以下配置,请记住这两条信息:
\nserver.servlet.context-path=/context-path\nspring.mvc.servlet.path=/servlet-path\n
Run Code Online (Sandbox Code Playgroud)\n那么应用程序 servlet 路径将变为http://localhost:8080/context-path/servlet-path
。
写完所有这些后,我想说,在您的情况下,可以使用任何属性。
\n 归档时间: |
|
查看次数: |
5892 次 |
最近记录: |