@RequestParam和@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", "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或者是博客园都在用它,这里就不贴图了,经常浏览博客和新闻都能看到。
最后,你如果问我哪种方式比较好,我的回答是,根据业务场景的需求决定使用其中一种或者是结合使用。不过它们都有一个共同点,那就是都是可见。
@RequestParam和@PathVariable的区别及其应用场景的更多相关文章
- @RequestParam 和 @ PathVariable 的区别
		
@RequestParam 和 @ PathVariable 的区别http://localhost:8080/Springmvc/user/page.do?pageSize=3&pageNo ...
 - @RequestParam与@PathVariable的区别
		
在spring MVC中,两者的作用都是将request里的参数的值绑定到contorl里的方法参数里的,区别在于,URL写法不同. 使用@RequestParam时,URL是这样的:http://h ...
 - springMVC的注解@RequestParam与@PathVariable的区别
		
1.在SpringMVC后台控制层获取参数的方式主要有两种, 一种是request.getParameter("name"),另外一种是用注解@RequestParam直接获取. ...
 - springMVC中的注解@RequestParam与@PathVariable的区别
		
1.@PathVariable @PathVariable绑定URI模板变量值 @PathVariable是用来获得请求url中的动态参数的 @PathVariable用于将请求URL中的模板变量映射 ...
 - SpringMVC 中的注解@RequestParam与@PathVariable的区别
		
@PathVariable绑定URI模板变量值 @PathVariable是用来获得请求url中的动态参数的 @PathVariable用于将请求URL中的模板变量映射到功能处理方法的参数上.//配置 ...
 - @RequestParam和@PathVariable的区别
		
一:@RequestParam @RequestParam是传递参数的. @RequestParam用于将请求参数区数据映射到功能处理方法的参数上. public Object Login(@Requ ...
 - @RequestParam,@PathVariable等注解区别
		
一.@RequestParam和@PathVariable的区别 1.@RequestParam是从uri中request后面的参数串来取得参数的 2.@PathVariable是从uri模板中取得参 ...
 - 浅谈 @RequestParam 和@PathVariable
		
版权声明:本文为博主原创文章,如果对你有用,敬请带走! https://blog.csdn.net/chuck_kui/article/details/55506723 首先 上两个地址: 地址①ht ...
 - list set map区别及适用场景
		
list与Set.Map区别及适用场景 1.List,Set都是继承自Collection接口,Map则不是 2.List特点:元素有放入顺序,元素可重复 ,Set特点:元素无放入顺序,元素不可重 ...
 
随机推荐
- JS 操作 HTML   和 AJAX 请求后台数据
			
为某个元素插入值,添加属性,添加子元素 <div class="col-sm-6"> <select class="form-control" ...
 - 关于asp.net假分页的删除操作的随笔
			
作为一个新人,上周负责优化一个后台管理系统,遇到一个问题:点击删除按钮之后,页面又回到了第一页. 而我需要达到的效果是:点击了删除按钮之后,原来是那一页,删除后还是在那一页. 由于项目是已经验收了的, ...
 - heroku快速部署node应用
			
试了一下heroku,简直碉堡了,下面介绍如何简单几步实现弄得应用的部署访问: 1.首先https://dashboard.heroku.com/进行账号注册 2.github上push一个最新的no ...
 - svn怎么下载代码到本地
			
1. 在我们安装好svn时,在指定的目录中点击鼠标右键SVN Checkout,弹出以下窗口.(在文件夹下各自建好前后台的文件夹分别check) 2. 在URL of repository:(存储库的 ...
 - Scrapy框架的使用 -- 自动跳转链接并请求
			
# -*- coding: utf-8 -*- import scrapy from movie.items import MovieItem class MoviespiderSpider(scra ...
 - (转) AJAX POST&跨域 解决方案 - CORS
			
跨域是我在日常面试中经常会问到的问题,这词在前端界出现的频率不低,主要原因还是由于安全限制(同源策略, 即JavaScript或Cookie只能访问同域下的内容),因为我们在日常的项目开发时会不可避免 ...
 - SpringBoot如何添加拦截器
			
在web开发的过程中,为了实现登录权限验证,我们往往需要添加一个拦截器在用户的的请求到达controller层的时候实现登录验证,那么SpringBoot如何添加拦截器呢? 步骤如下: 1.继承Web ...
 - BitmapFactory 读取图片方法总结
			
①decodeFile(java.lang.String pathName) ②decodeResource(android.content.res.Resources res, int id ...
 - Elk and nginx and redis 干货
			
ELKStack ELKStack即Elasticsearch + Logstash + Kibana.日志监控和分析在保障业务稳定运行时,起到了很重要的作用.比如对nginx日志的监控分析,ngin ...
 - SQL Server ->> T-SQL查询面试题之实例版
			
1 - 3 题: 数据表结构: OrderID ProductID OrderDate SaleAmount 1 1 2015-01-01 100 2 6 2015-02-01 900 3 1 ...