首页 > 其他分享 >请求参数之@PathVariable与@PathParam

请求参数之@PathVariable与@PathParam

时间:2023-12-24 14:00:57浏览次数:36  
标签:请求 PathParam name PathVariable GetMapping id String

初学springmvc容易分不清楚这两个参数之间的用法差别,如果较长一段时间不接触,可能又会搞忘,贴个笔记,方便以后回顾以及初学者参考。如有错误,还请指正。

@PathVariable:

@PathVariable适用于RESTFULL风格的请求。

例:

    //请求样式为restful     http://localhost:8080/user/张三
 
    @GetMapping("/{id}")
    public String getUserByid(@PathVariable(name = "id",required = true) String id){
 
        return id;
 
   }

@GetMapping注解中的引号中的名字一定要与@PathVariable(name = "id",required = true)中的name相同,后面required的作用是:当为true的话, 地址中如果没有这个参数会报错;为false时则会忽略,默认值为true,即当确定顾哦来的参数一定有的时候,就不用显示定义,代码可改为:

    @GetMapping("/{id}")
    public String getUserByid(@PathVariable(name = "id") String id){
        return id;
    }

如果请求参数只有一个,代码可进一步缩减为:

    @GetMapping("/{id}")
    public String getUserByid(@PathVariable String id){ //@PathVariable 不用设置任何参数
        return id;
    }

@PathParam

常用于传统请求方式,url例子为:

http://localhost:8080/user/getUserByidAndName?id=a&&name=张三

代码举例:

    @GetMapping("/getUserByidAndName")
    public String getUserByidAndName(@PathParam("id") String id,@PathParam("name") String name){
        return String.format("id=%s,name=%s", id,name);
    }
@PathParam中的参数名要和url中一致,否则拿到的值为null。


标签:请求,PathParam,name,PathVariable,GetMapping,id,String
From: https://blog.51cto.com/u_16421711/8955560

相关文章

  • Jmeter:http请求及json断言
    一前言环境:window10jmeter5.3对jmeter的http请求和json断言这2个组件中的一些字段进行简单说明二http请求如上,可以选择切换语言,有时切换成中文或者英文,这样需要填写字段的意思更加一目了然三json断言断言请求返回的json数据数时,jmeter中默认有2种方式可选,如下这里......
  • 【Spring教程28】Spring框架实战:从零开始学习SpringMVC 之 请求与请求参数详解
    目录1设置请求映射路径1.1环境准备1.2问题分析1.3设置映射路径2请求参数2.1环境准备2.2参数传递2.2.1GET发送单个参数2.2.2GET发送多个参数2.2.3GET请求中文乱码2.2.4POST发送参数2.2.5POST请求中文乱码欢迎大家回到《Java教程之Spring30天快速入门》,本教程所有示例......
  • 8.非连续存储分配(基本分页、请求分页、基本分段、段页式)
    基本分页存储管理引入分页的原因尽量避免碎片的产生,增大内存利用率对换是指把内存中暂时不能运行的进程或者暂时不用的程序和数据,调出到外存上,以便腾出足够的内存空间,再把已具备运行条件的进程或进程所需要的程序和数据,调入内存。对换是提高内存利用率的有效措施对换的类型:......
  • Jmeter:一个简单的http请求
    一前言环境:window10Jmeter5.3Jmeter是以协议为基础(如http协议ftp协议),通过接口的方式向服务端发送数据和接收数据,所以在使用Jmeter时,最好有一些对应的协议基础知识二一些简单的http请求步骤:在testplan新建threadgroup在threadgroup中新建http请求在threadgroup中......
  • 自定义消息转换器对请求报文的统一解密处理
    1.自定义拦截器Interceptorpackagecom.example.springbootdemo.config;importlombok.extern.slf4j.Slf4j;importorg.springframework.web.servlet.HandlerInterceptor;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;......
  • el-select自定义指令用于触底加载分页请求options数据(附上完整代码和接口可直接用)
    问题描述某些情况下,下拉框需要做触底加载,发请求,获取option的数据为了方便复用,笔者封装了一个自定义指令另外也提供了一个简单的接口,用于演示我们先看看效果图效果图思路分析注意事项一el-select要不嵌入到body中为何,不嵌入到body标签中呢?答曰,更加方便自定义指令管理......
  • C# 获取Http请求服务器响应的cookie
    stringurl="http://localhost:5082/cookie/test2";varcookies=newCookieContainer();varhandler=newHttpClientHandler(){CookieContainer=cookies};HttpClientclient=newHttpClient(handler);Dictionary<string,string>dic=ne......
  • Python接口测试get请求过程详解
    python做接口测试用到的是requests模块,首先要导入requests库,pipinstallrequests1、get直接请求方式以豆瓣网为例:url='https://read.douban.com/'respose=requests.get(url=url)#status_code为返回的状态码print(respose.status_code)#text为返回的数据print(res......
  • python+excel接口自动化获取token并作为请求参数进行传参操作
    1、登录接口登录后返回对应token封装:importjsonimportrequestsfromutil.operation_jsonimportOperationJsonfrombase.runmethodimportRunMethodclassOperationHeader:def__init__(self,response):self.response=json.loads(response)defget_response_token(......
  • Postman运行一次时其中的请求执行多次
    背景运行1次时,实现其中的几个请求执行多次,每次执行时的参数不同方式在要开始循环的请求中通过pm.environment.set('next',pm.info.requestId)将这个请求的id记下来然后当要循环这个请求的的时候,先改变请求中的变量,然后再通过postman.setNextRequest跳转到要循环执行的请求,从......