博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
@RequestParam和@PathVariable的区别及其应用场景
阅读量:6446 次
发布时间:2019-06-23

本文共 1388 字,大约阅读时间需要 4 分钟。

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

用@RequestParam请求接口时,URL是:

用@PathVariable请求接口时,URL是:

(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", "111111");        json.put("returnMsg", "error");    }    return json;}

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

例如CSDN:

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

(2)@RequestParam示例:

@GetMapping(value="getUserById",produces="application/json;charset=utf-8")public Object getUserById(@RequestParam 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", "111111");        json.put("returnMsg", "error");    }    return json;}

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

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

转载地址:http://bjvwo.baihongyu.com/

你可能感兴趣的文章
[leetcode]Length of Last Word
查看>>
POJ 1325、ZOJ 1364、HDU 1150 Machine Schedule - from lanshui_Yang
查看>>
布里斯班两周感受
查看>>
图形学基础 关于光照的科普知识
查看>>
Oracle定义varchar2()类型存储汉字的长度问题
查看>>
论Visual Studio和.NET Framework
查看>>
android 应用层性能优化方案
查看>>
appstore 上传需要的icon
查看>>
Qt_chartdirector图形开发
查看>>
[51单片机] EEPROM 24c02 [读取存储多字节]
查看>>
cocos2d-x项目101次相遇:使用触摸事件移动 精灵
查看>>
[再寄小读者之数学篇](2014-05-29 单调函数的一个充分条件)
查看>>
RDD的依赖关系
查看>>
Android开发学习---使用Intelij idea 13.1 进行android 开发
查看>>
AddChild
查看>>
Android的移动存储之SharedPreferences
查看>>
padding与margin的差别
查看>>
Icehouse 创建Instance代码分析
查看>>
iOS开发多线程篇—GCD介绍
查看>>
单元测试 逃不开的Done 与约定
查看>>