useraccount=zhangsan 访问2,使用正则过滤正常访问:/user/zhangsan打印:useraccount : zhangsan当然,这个就有点不灵活了,第一种简单又方便请求参数中如果包含.,会造成参数丢失,请看如下代码以下代码,省略@RestController控制层类代码请求地址: hello/ddf,则正常返回{"msg": "hello ddf"}请求地址: hello/ddf.com,依然还是返回{"msg": "hello ddf"}如果需要解决上面这个问题,则可以将代码更改如下如果使用@PathVariable以.sh或.bat等特殊字符结尾,会影响实际返回数据报错如下:还是上面的代码以下代码,省略@RestController控制层类代码如果这时候请求地址为hello/ddf.sh或hello/ddf.com.sh,只要是以.sh结尾,这时候业务逻辑代码不会受到影响,但走到Spring自己的代码去处理返回数据的时候,有一个功能会根据扩展名来决定返回的类型,而以.sh结尾扩展名为sh,会被解析成对应的Content-Type: application/x-sh。

如何处理@PathVariable中的特殊字符问题

如何处理@PathVariable中的特殊字符问题

如何处理@PathVariable中的特殊字符问题

如何处理@PathVariable中的特殊字符问题

如何处理@PathVariable中的特殊字符问题

如何处理@PathVariable中的特殊字符问题

如何处理@PathVariable中的特殊字符问题

如何处理@PathVariable中的特殊字符问题