码迷,mamicode.com
首页 > 其他好文 > 详细

@RequestParam和@PathVariable的区别和使用

时间:2019-08-23 22:09:48      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:local   name   相同   键值对   method   属性   service   user   col   

请求路径上的区别:很明显一个是      ?键值对,一个是  /参数   ,区别很明显

@RequestParam用于获取参数,可获取?username="sss"这种?后面的参数值

如:访问路径为:http://localhost:7012/billing/pay/paySerial?paySerialId=20190821155435120115620216832

    @GetMapping("/paySerial")
//    @RequestMapping(value= "/paySerial",method =RequestMethod.GET)
    public PaySerialRes qryPaySerialDetail(@RequestParam(name = "paySerialId", required = false) String paySerialId) {
        log.info("传入的id为;{}",paySerialId);
        return paySerialService.qryPaySerialDetail(paySerialId);

当传入参数的名字和方法中的名字相同时,可以直接@RequestParam String paySerialId,如请求 url:http://localhost:7012/billing/pay/paySerial?paySerialId=20190821155435120115620216832

如果请求的参数名和方法名不一致时:则:@RequestParam(name = "abc"  String paySerialId,这样子就可以将abc和paySerialId映射上

abc和请求带过来的参数名一样,如:http://localhost:7012/billing/pay/paySerial?abc=20190821155435120115620216832;

@RequestParam(value = "paySerialId", required = false, defaultValue = "1")

@RequestParam 支持下面四种参数

defaultValue 如果本次请求没有携带这个参数,或者参数为空,那么就会启用默认值
name 绑定本次参数的名称,要跟URL上面的一样
required 传入的参数是否必须,默认是true,表示请求中一定要有相应的参数,否则将报404错误码;
value 跟name一样的作用,是name属性的一个别名

 

 

 

使用@PathVariable接收参数,参数值需要在url进行占位, 前端传参的URL:url = “/main/mm/am/${Id}/${name}”

如:http://localhost:7012/billing/pay/paySerial/20190821155435120115620216832

    @GetMapping("/paySerial/{aaaa}")
    public PaySerialRes qryPaySerialDetail(@PathVariable("aaaa") String paySerialId) {
        log.info("传入的id为;{}",paySerialId);
        return paySerialService.qryPaySerialDetail(paySerialId);
    }

 

@RequestParam和@PathVariable的区别和使用

标签:local   name   相同   键值对   method   属性   service   user   col   

原文地址:https://www.cnblogs.com/cherishforchen/p/11402760.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!