27.1.8. 路径匹配与内容协商
Spring MVC能够查看请求路径,将HTTP请求映射到处理程序,并把它匹配到应用里定义的映射关系(比如,Controller方法的@GetMapping
注解)。
Spring Boot默认禁用后缀模式匹配。这意味着类似"GET /projects/spring-boot.json"
的请求,不会匹配到@GetMapping("/projects/spring-boot")
。这是Spring MVC应用的一种最佳实践。过去,这个特性主要对HTTP客户端有用。HTTP客户端没有发送适当的"Accept"请求头。我们需要确保给客户端发送了正确的内容类型。现在,内容协商更为可靠。
还有其它方式处理HTTP客户端没有发送适当的"Accept"请求头的情况。不使用后缀匹配,但我们可以使用一个查询参数,来确保类似于"GET /projects/spring-boot?format=json"
的请求会映射到@GetMapping("/projects/spring-boot")
:
如果你理解上面的警告,但还是想要在你的应用里使用后缀模式匹配,你需要下面的配置:
最后更新于