怎么替换@PathVariable中的变量
发表于:2025-11-13 作者:千家信息网编辑
千家信息网最后更新 2025年11月13日,这篇文章主要讲解了"怎么替换@PathVariable中的变量",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么替换@PathVariable中的变量
千家信息网最后更新 2025年11月13日怎么替换@PathVariable中的变量
这篇文章主要讲解了"怎么替换@PathVariable中的变量",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么替换@PathVariable中的变量"吧!
替换@PathVariable的变量
因为要对接口进行统计, 而项目中用到了@PathVariable的注解, 也就是uri中携带请求参数的方式. 导致一个接口统计出来很多个请求, 比如 /api/get/1, /api/get/2 …
在网上找到可以通过
MappathVariables = (Map) request.getAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE);
拿到这个PathVariable参数. 于是初步代码如下, 将/api/get/{id} 这个变量替换成常量{x}.
import com.google.common.base.Joiner;import javax.servlet.*; /** * 获取 去除掉 PathVariable 后的uri * @param request * @return */ private String getPureUri(HttpServletRequest request) { String url = request.getRequestURI(); Map pathVariables = (Map) request.getAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE); if (pathVariables != null && !pathVariables.isEmpty()){ String[] split = url.split("/"); for (String pathVal : pathVariables.values()) { for (int i = split.length - 1; i >= 0; i--) { if (split[i].equals(pathVal)){ //替换成{x},也可以直接替换成""去掉 split[i] = "{x}"; break; } } } url = Joiner.on("/").join(split); } return url; } @pathvariable注解的使用
带占位符的 URL 是 Spring3.0 新增的功能,该功能在SpringMVC 向 REST 目标挺进发展过程中具有里程碑的意义。
通过 @PathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中:URL 中的 {xxx} 占位符可以通过
@PathVariable("xxx") 绑定到操作方法的入参中。
//@GetMapping是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写 @GetMapping("/getUserById/{id}") public User getUser(@PathVariable("id") Long userId){ return userService.selectUserById(userId); }不需要使用问号传参,不需要写key=valuel,直接写value即可.
若方法参数名称和需要绑定的uri template中变量名称一致时,可以简写:
//@GetMapping是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写。 @GetMapping("/getUserByName/{userName}") public User getUserByName(@PathVariable String userName){ return userService.selectUserByUserName(userName); }感谢各位的阅读,以上就是"怎么替换@PathVariable中的变量"的内容了,经过本文的学习后,相信大家对怎么替换@PathVariable中的变量这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
变量
参数
注解
方法
学习
内容
功能
可以通过
名称
缩写
组合
统计
一致
中用
也就是
代码
对接口
就是
常量
思路
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
开发服务器端口
poc是啥意思 软件开发
江苏久上互联网科技
网络安全人人有责口号
无锡先导智能的软件开发
公众号实现数据库查询功能
怎样安装网络安全证书
度小满服务器升级中
南海java软件开发培训学费
余姚软件开发公司报价
省县市区数据库
网络技术基础案例文库
搭建服务器集群简单吗
路由虚拟服务器安全性
软件开发项目工作授权
驱动之家服务器怎么样
计算机网络技术志向
戴尔r420服务器只用一个硬盘
机关单位网络安全教育
张店物流竞价报价软件开发服务
谱曲的软件开发
网络安全的实验报告
ftp服务器 用户密码
幼儿园网络安全工作下一步计划
网络安全重点的是什么
百度网络安全承诺书模板
瓜子二手车软件开发薪资
常德智能软件开发哪家好
计算机网络技术有没有必要升本
网络安全怎么注意