返回顶部
首页 > 资讯 > 后端开发 > Python >如何替换@PathVariable中的变量
  • 240
分享到

如何替换@PathVariable中的变量

2024-04-02 19:04:59 240人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录替换@PathVariable的变量@pathvariable注解的使用替换@PathVariable的变量 因为要对接口进行统计, 而项目中用到了@PathVariable的注

替换@PathVariable的变量

因为要对接口进行统计, 而项目中用到了@PathVariable的注解, 也就是uri中携带请求参数的方式. 导致一个接口统计出来很多个请求, 比如 /api/get/1, /api/get/2 …

在网上找到可以通过


Map<String, String> pathVariables = (Map) request.getAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE);

拿到这个PathVariable参数. 于是初步代码如下, 将/api/get/{id} 这个变量替换成常量{x}.


import com.Google.common.base.Joiner;
import javax.servlet.*;
  
  private String getPureUri(httpservletRequest request) {
    String url = request.getRequestURI();
    Map<String, String> 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);
    }

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: 如何替换@PathVariable中的变量

本文链接: https://lsjlt.com/news/155941.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何替换@PathVariable中的变量
    目录替换@PathVariable的变量@pathvariable注解的使用替换@PathVariable的变量 因为要对接口进行统计, 而项目中用到了@PathVariable的注...
    99+
    2024-04-02
  • 怎么替换@PathVariable中的变量
    这篇文章主要讲解了“怎么替换@PathVariable中的变量”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么替换@PathVariable中的变量”吧!替换@PathVariable的变...
    99+
    2023-06-25
  • php中preg_replace如何替换变量数据
    本篇内容主要讲解“php中preg_replace如何替换变量数据”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php中preg_replace如何替换变量数据”吧!在php中,“preg_re...
    99+
    2023-07-02
  • php如何替换模板变量
    这篇文章给大家分享的是有关php如何替换模板变量的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。php替换模板变量的方法:首先用fopen()函数打开文件;然后通过fread函数读取文件;最后使用str_repla...
    99+
    2023-06-07
  • php字符串变量如何替换
    这篇“php字符串变量如何替换”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“php字符串变量如何替换”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解,接下来就让我们进入主题吧。...
    99+
    2023-06-06
  • Linux下如何实现变量替换技术
    这篇文章主要介绍了Linux下如何实现变量替换技术,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.1.1  ${value:-word}如果变量value没有定义...
    99+
    2023-06-28
  • java正则表达式匹配替换大括号变量${}和替换${}变量的值
    java正则表达式替换“$ {}”特殊字符并还原,以及java正则表达式替换${}变量为变量的值这两种操作的代码示例。 import java.text.SimpleDateFormat;import...
    99+
    2023-10-11
    java 正则表达式 jvm
  • plsql中如何批量替换字符串
    在PL/SQL中,可以使用REPLACE函数来批量替换字符串。REPLACE函数的语法如下: REPLACE(source_stri...
    99+
    2024-04-09
    plsql
  • Linux怎么删除替换变量值
    这篇文章将为大家详细讲解有关Linux怎么删除替换变量值,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在Linux系统中,对变量进行赋值后需要发现有些问题,需要对变量值进行删除或替换,本文将针对Linux...
    99+
    2023-06-12
  • 如何批量替换WordPress文章中的文字
    这篇文章主要为大家展示了“如何批量替换WordPress文章中的文字”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何批量替换WordPress文章中的文字”这篇文章吧。批量替换WordPres...
    99+
    2023-06-20
  • 完美解决docx4j变量替换的问题
    目录docx4j变量替换的问题测试代码docx4j版本下面是工具类docx4j变量替换的问题 最近工作上需要自己完成word文档变量替换的问题 把里面的变量给替换成数据库里的值,但...
    99+
    2024-04-02
  • URL @PathVariable 变量的匹配原理分析
    目录URL @PathVariable 变量匹配原理url 中带有变量的匹配原理Demo调试如下总结备注@PathVariable@PathVariable 映射 URL 绑定的占位...
    99+
    2024-04-02
  • dedecms如何实现批量替换
    这篇文章主要讲解了“dedecms如何实现批量替换”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“dedecms如何实现批量替换”吧! ...
    99+
    2023-02-24
    dedecms
  • php不使用中间变量如何互换两变量的值
    这篇文章主要介绍“php不使用中间变量如何互换两变量的值”,在日常操作中,相信很多人在php不使用中间变量如何互换两变量的值问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php不使用中间变量如何互换两变量的值...
    99+
    2023-07-05
  • python如何交换变量
    小编给大家分享一下python如何交换变量,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!交换变量有时候,当我们要交换两个变量的值时,一种常规的方法是创建一个临时变...
    99+
    2023-06-26
  • URL @PathVariable变量的匹配原理是什么
    本篇内容主要讲解“URL @PathVariable变量的匹配原理是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“URL @PathVariable变量的匹配原理是什么”吧!URL @Pat...
    99+
    2023-06-25
  • dreamweaver如何批量替换超链接
    小编给大家分享一下dreamweaver如何批量替换超链接,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在修改一个网页时,会遇到要更换所有网页超链接网址的问题,有...
    99+
    2023-06-08
  • mysql数据库如何批量替换
    这篇“mysql数据库如何批量替换”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“mysql...
    99+
    2023-04-22
    mysql
  • Sql如何批量替换所有表中内容
    这篇文章主要讲解了“Sql如何批量替换所有表中内容”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Sql如何批量替换所有表中内容”吧! ...
    99+
    2024-04-02
  • Mysql中如何批量替换某个字段的值:replace
    目录如何批量替换某个字段的值:replace批量替换某个字段的部分数据 如何批量替换某个字段的值:replace 例如我们有一个表: mxd_goods 中字段goods_pic的值要全部去掉goods/ 现...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作