TyuIn 2022-01-03 17:57 采纳率: 100%
浏览 47
已结题

SprinBoot 2.6.2 出现的奇葩问题

SpringBoot 2.6.2 中UrlPathHelper 中的 removeSemicolonContent 为 true,按理来说应该使得 MatrixVariable 无法使用才对,但是却离奇地可以使用,打印 removeSemicolonContent 的值确实为 true,请各位博友解答?

@GetMapping("/cars/{path}")
    public Map<String, Object> carsSell(@MatrixVariable("low") Integer low,
                        @MatrixVariable("brand") List<String> brand,
                        @PathVariable("path") String path){
        Map<String,Object> map = new HashMap<>();

        System.out.println(new UrlPathHelper().shouldRemoveSemicolonContent());

        map.put("low",low);
        map.put("brand",brand);
        map.put("path",path);
        return map;
    }

img

img

  • 写回答

1条回答 默认 最新

  • 大鹏cool Java领域优质创作者 2022-01-03 18:55
    关注

    springboot 2.6.2 使用的 spring framework 版本是 5.3,5.3 的实现方式和 5.2 的实现方式有一些不同,5.3 版本虽然默认 UrlPathHelper 移除路径中的矩阵变量,但这只会对路径匹配产生影响,路径匹配后会继续使用请求 URI 解析矩阵变量,具体可以参见源码 RequestMappingInfoHandlerMapping#extractMatchDetails(PathPatternsRequestCondition, String, HttpServletRequest)

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月11日
  • 已采纳回答 1月3日
  • 创建了问题 1月3日

悬赏问题

  • ¥15 MATLAB代码补全插值
  • ¥15 Typegoose 中如何使用 arrayFilters 筛选并更新深度嵌套的子文档数组信息
  • ¥15 前后端分离的学习疑问?
  • ¥15 stata实证代码答疑
  • ¥50 husky+jaco2实现在gazebo与rviz中联合仿真
  • ¥15 dpabi预处理报错:Error using y_ExtractROISignal (line 251)
  • ¥15 在虚拟机中配置flume,无法将slave1节点的文件采集到master节点中
  • ¥15 husky+kinova jaco2 仿真
  • ¥15 zigbee终端设备入网失败
  • ¥15 金融监管系统怎么对7+4机构进行监管的