前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >SpringMVC系列知识:(四)restful风格

SpringMVC系列知识:(四)restful风格

作者头像
一写代码就开心
发布2020-11-19 15:33:02
发布2020-11-19 15:33:02
35200
代码可运行
举报
文章被收录于专栏:java和pythonjava和python
运行总次数:0
代码可运行

问题:

要求我们后台获取请求数据的代码,必须按照指定的键名来获取请求数据。键名

就是请求数据的键名。这样造成,一旦请求数据的键名发生变更,造成后台的逻辑

代码也需要进行变更。前台的请求数据的键名和后台的逻辑代码之间的耦合性过高,造成前台和后台的开发过程中相互依赖性过高。怎么办?

解决:

让前台和后台代码之间进行解耦。也就说不再让请求请求数据的键名造成前后台

代码之间的依赖。前台请求数据的键名发生变更,不影响后台逻辑代码的正常执行

实现:

请求数据不再以键值对的形式发送给后台使用。直接发送数据本身给后台即可。

既然请求数据不再使用键值对,请求数据必须按照指定的格式来进行发送。使用

restful格式。

传统的get方式请求格式:

localhost:8080/project/aa?uname=zhangsan&age18

restful请求格式:

localhost:8080/project/aa/zhangsan/18

注意:

restful格式要求请求数据作为请求地址的一部分发送给后台使用。

DispactherServlet拦截除jsp请求以外的所有请求,浏览器发起了一个

restful格式的请求,会被DispatcherServlet拦截处理。而DispatcherServlet

根据请求调用对应的单元方法处理请求。比如:

locahost:8080/project/aa/zhangsan/18

DispatcherServlet会调用一个@RequestMapping的值为”aa/zhangsan/18”

的单元方法来处理此次请求。但是restful格式请求的请求数据每次都不同,也就

说每次请求地址都不相同,我们无法声明对应的单元方法来处理请求。所以SpringMVC在单员方法中使用指定的格式来进行模糊匹配,具体实现参照示例代码。

SpringMVC在单员方法中使用指定的格式来进行模糊匹配

代码语言:javascript
代码运行次数:0
复制
  @RequestMapping("aa/{un}/{age}")
    public String demoResful(@PathVariable("un")  String uname, @PathVariable Integer age){
        //处理请求
        System.out.println("MyController.demoResful:SpringMVC处理restful格式请求:"+uname+":"+age);
        //响应结果
        return "aa";
    }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/09/21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题:
  • 解决:
  • 实现:
  • restful格式。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档