[SpringBoot2]@MatrixVariable&UrlPathHelper
Posted 唐火
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[SpringBoot2]@MatrixVariable&UrlPathHelper相关的知识,希望对你有一定的参考价值。
- 场景
页面开发,cookie禁用了,session里面的内容怎么使用:
session.set(a,b)—>jessionid—>cookie—>每次发请求携带
此时cookie禁用了,我们要怎么得到session里面的内容呢?
url重写:/abc;jsessionid=xxxx 把cookie的值使用矩阵变量的方式进行传递
- 1、语法: 请求路径:/cars/sell;low=34;brand=byd,audi,yd
- 2、SpringBoot默认是禁用了矩阵变量的功能
- 手动开启:原理。对于路径的处理。UrlPathHelper进行解析。removeSemicolonContent(移除分号内容)支持矩阵变量的
- 3、矩阵变量必须有url路径变量才能被解析
使用矩阵变量前要配置!
下面是两种配置方式:
@Configuration(proxyBeanMethods = false)
public class WebConfig implements WebMvcConfigurer
@Override
public void configurePathMatch(PathMatchConfigurer configurer)
UrlPathHelper urlPathHelper = new UrlPathHelper();
//设置为不移除分号后面的内容。矩阵变量功能才可以生效
urlPathHelper.setRemoveSemicolonContent(false);
configurer.setUrlPathHelper(urlPathHelper);
@Configuration(proxyBeanMethods = false)
public class WebConfig implements WebMvcConfigurer
@Bean
public WebMvcConfigurer webMvcConfigurer()
return new WebMvcConfigurer()
@Override
public void configurePathMatch(PathMatchConfigurer configurer)
UrlPathHelper urlPathHelper = new UrlPathHelper();
//设置为不移除分号后面的内容。矩阵变量功能才可以生效
urlPathHelper.setRemoveSemicolonContent(false);
configurer.setUrlPathHelper(urlPathHelper);
;
//1、语法: 请求路径:/cars/sell;low=34;brand=byd,audi,yd
//2、SpringBoot默认是禁用了矩阵变量的功能
// 手动开启:原理。对于路径的处理。UrlPathHelper进行解析。
// removeSemicolonContent(移除分号内容)支持矩阵变量的
//3、矩阵变量必须有url路径变量才能被解析
@GetMapping("/cars/path")
public Map carsSell(@MatrixVariable("low") Integer low,
@MatrixVariable("brand") List<String> brand,
@PathVariable("path") String path)
Map<String,Object> map = new HashMap<>();
map.put("low",low);
map.put("brand",brand);
map.put("path",path);
return map;
// /boss/1;age=20/2;age=10
@GetMapping("/boss/bossId/empId")
public Map boss(@MatrixVariable(value = "age",pathVar = "bossId") Integer bossAge,
@MatrixVariable(value = "age",pathVar = "empId") Integer empAge)
Map<String,Object> map = new HashMap<>();
map.put("bossAge",bossAge);
map.put("empAge",empAge);
return map;
以上是关于[SpringBoot2]@MatrixVariable&UrlPathHelper的主要内容,如果未能解决你的问题,请参考以下文章
小D课堂 - 零基础入门SpringBoot2.X到实战_汇总
springboot2.3.7升级到springboot2.7.2
2019刘老师教你用springboot2.x开发整合微信支付的线上教育平台带源码送springboot2.x零基础入门到高级实战教程