Spring REST 请求映射
Posted
技术标签:
【中文标题】Spring REST 请求映射【英文标题】:Spring REST request mapping 【发布时间】:2015-09-28 10:58:48 【问题描述】:我想配置 Spring 以将所有请求重定向到特定的控制器,而不考虑 URL(长度和参数)。我应该如何在 RequestMapping 注释中给出 URL 模式/正则表达式。我尝试使用下面的代码,但它不起作用。非常感谢这方面的任何帮助。
@Controller
@RequestMapping("/*")
public class ServiceController
@RequestMapping( method = RequestMethod.GET, value = "*" )
public void getProjectList(HttpServletRequest httpServletRequest,Model model)
【问题讨论】:
【参考方案1】:你需要@RequestMapping(method = RequestMethod.GET, value = "/**")
。
来自http://docs.spring.io/spring-framework/docs/current/spring-framework-reference/html/mvc.html#mvc-ann-requestmapping-patterns:
除了 URI 模板,
@RequestMapping
注解也 支持 Ant 风格的路径模式(例如,/myPath/*.do
)。
来自http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/util/AntPathMatcher.html:
映射使用以下规则匹配 URL:
?
匹配一个字符*
匹配零个或多个字符**
匹配路径中的零个或多个目录
【讨论】:
我们之前使用过不带方法参数的上述控制器映射,用于维护服务器以显示服务器当前正在维护中。它有效...【参考方案2】:您是否尝试过使用正则表达式?
类似:
@RequestMapping("/value:.")
【讨论】:
您想在类的顶部或方法的顶部更改请求映射。我尝试了所有可能的方法,但它不起作用。以上是关于Spring REST 请求映射的主要内容,如果未能解决你的问题,请参考以下文章
如何使用jackson映射动态json属性名称以进行spring rest模板请求
Spring Boot 2从入门到入坟 | 请求参数处理篇:REST映射原理的详细分析
Spring Boot 2从入门到入坟 | 请求参数处理篇:REST映射原理的详细分析
Spring Boot 2从入门到入坟 | 请求参数处理篇:REST映射的使用