加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

@RequestParam和@PathVariable的区别及其应用场景

发布时间:2020-12-15 07:13:42 所属栏目:Java 来源:网络整理
导读:@RequestParam和@PathVariable这两者之间区别不大,主要是请求的URL不一样 用@RequestParam请求接口时,URL是:http://www.test.com/user/getUserById?userId=1 用@PathVariable请求接口时,URL是:http://www.test.com/user/getUserById/2 (1)@PathVariable示例

@RequestParam和@PathVariable这两者之间区别不大,主要是请求的URL不一样

用@RequestParam请求接口时,URL是:http://www.test.com/user/getUserById?userId=1

用@PathVariable请求接口时,URL是:http://www.test.com/user/getUserById/2

(1)@PathVariable示例:

    @GetMapping(value="getUserById/{userId}",produces="application/json;charset=utf-8")
    public Object getUserById(@PathVariable String userId) {
        
        JSONObject json  = new JSONObject();
        
        if(!StrUtil.isEmpty(userId)) {
            User user = userService.getUserById(userId);
            json.put("returnCode","000000");
            json.put("returnMsg","success");
            json.put("user",user);
        }else {
            json.put("returnCode","222221");
        }
        return json;

    }

主要应用场景是:不少应用为了实现RestFul的风格,采用@PathVariable这种方式。

例如CSDN:

当然了,有些时候也不是为了RestFul风格而采用这种方式,有些时候觉得?userId=1&&status=1等参数传递方式不是特别好看或者是看着不爽。

?

(2)@RequestParam示例:

    @GetMapping(value="getUserById",1)"> Object getUserById(@RequestParam String userId) {
        
        JSONObject json  =  json;

    }

?应用场景:这种方式应用也非常广,像CSDN或者是博客园都在用它,这里就不贴图了,经常浏览博客和新闻都能看到。

?

最后,你如果问我哪种方式比较好,我的回答是,根据业务场景的需求决定使用其中一种或者是结合使用。不过它们都有一个共同点,那就是都是可见。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读