spring boot 请求地址含 .josn 访问失败,不含时访问成功

2019-01-02 19:59发布

问题:

spring boot 接口请求时,请求地址后缀带有 .json, 访问失败,不含时访问成功,怎么做兼容处理

回答1:

经查阅官方文档,发现Spring Boot认为如今的内容协商制度越来越可靠,不需要多写一步".json"来确保传递给客户端的数据格式正确,因此默认禁用后缀模式匹配,意思就是在普通的spring MVC中,***.json的请求可以匹配到控制器,但是在Spring Boot中,无法匹配控制器。

官网提供的解决方案:
1)直接删掉“.json”
2)也可以将****.json替换为/?format=json
3)在application.perproties中增加如下配置,就可以继续使用“
*.json”来匹配控制器了
spring.mvc.contentnegotiation.favor-path-extension=true
spring.mvc.pathmatch.use-suffix-pattern=true
4)但第三种操作打开了所有的后缀模式匹配,为了更安全起见,官网还提供了第四种解决方案
spring.mvc.contentnegotiation.favor-path-extension=true
spring.mvc.pathmatch.use-registered-suffix-pattern=true



标签: