博客
关于我
SpringMVC学习笔记4-----RestFul风格简单解读
阅读量:726 次
发布时间:2019-03-21

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

RestFul风格的优势与实际应用

1. RestFul风格的优势

RestFul风格在现代应用开发中逐渐成为主流,主要原因包括以下几个方面:

  • 简化路径:通过将路径参数与请求方法细粒化,实现路径变得更为简洁直观。无需通过查询参数(如?a=1&b=2)传递数据,所有参数都可以通过路径直接表达。

  • 类型安全:RestFul风格的路径参数自动由框架进行类型转换,并基于路径变量的类型进行约束。例如,如果定义的路径中包含数字,系统会拒绝字符串类型的传入请求,从而确保数据的安全性。

  • 增强安全性:通过将所有参数附着在路径中而非查询字符串,减少了数据在传输过程中的泄露风险。

2. 原始的查询参数传参问题

传统的查询参数传递方式存在以下缺陷:

http://localhost:8080/add?a=1&b=2
  • 查询参数的暴露性在数据传输过程中较高,存在被截获或篡改的风险。
  • 参数类型不易控制,无法通过路径直接传递,导致数据类型混乱。

3. RestFul风格下的参数传递

在RestFul风格中,路径参数的使用为传递参数提供了更灵活的方式。以下是两种典型传递方式的示例:

3.1 传递两个整数参数
http://localhost:8080/add/6/71
  • 方法注解:@RequestMapping路径需包含路径变量。
@RequestMapping("/add/{a}/{b}")public String test2(@PathVariable int a, @PathVariable int b, Model model) {    int result = a + b;    model.addAttribute("msg", "这是restful传参a+b=" + result);    return "test";}
3.2 传递一个整数和一个字符串参数
http://localhost:8080/add/3/wang
  • 方法注解:
@RequestMapping("/add/{a}/{b}")public String test2(@PathVariable int a, @PathVariable String b, Model model) {    String result = a + b;    model.addAttribute("msg", "这是restful传参a+b=" + result);    return "test";}
3.3 多样化的提交方式

RestFul风格支持通过不同的HTTP方法实现相同的路径,例如:

@RequestMapping(value="/add/{a}/{b}", method=RequestMethod.DELETE)public String test3(@PathVariable int a, @PathVariable String b, Model model) {    String result = a + b;    model.addAttribute("msg", "这是restful传参a+b=" + result);    return "test";}
  • 可通过在请求中指定HTTP方法(如DELETEGET)实现不同的调用方式。
  • 需要注意默认请求方法(通常为GET),若指定其他方法需特别配置。
3.4 自定义提交方式

除了使用默认的@RequestMapping注解,还可以通过@GetMapping等更具体的注解来明确请求方式,例如:

@GetMapping("/add/{a}/{b}")public String test4(@PathVariable int a, @PathVariable String b, Model model) {    String result = a + b;    model.addAttribute("msg", "这是restful传参a+b=" + result);    return "test";}

4. 实际应用示例

以下是几个实际应用场景的示例:

  • GET请求

    http://localhost:8080/add/4/as

    会触发test2方法,返回参数拼接结果。

  • 自定义POST提交

    如果使用前端提交,通过POST请求传递参数:

    http://localhost:8080/add/2/as

    会调用test3方法,同样返回拼接结果。

5. 注意事项

  • 在使用不同请求方法时,需要确保路径和方法的匹配性,避免出现405错误。
  • 路径变量的类型严格随路径定义进行约束,不同类型的路径参数自动分隔。

通过RestFul风格的应用,可以显著提升应用的安全性、可读性和维护性,是现代应用开发的重要设计理念。

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

你可能感兴趣的文章
mysql 表的操作
查看>>
mysql 视图,视图更新删除
查看>>
MySQL 触发器
查看>>
mysql 让所有IP访问数据库
查看>>
mysql 记录的增删改查
查看>>
MySQL 设置数据库的隔离级别
查看>>
MySQL 证明为什么用limit时,offset很大会影响性能
查看>>
Mysql 语句操作索引SQL语句
查看>>
MySQL 误操作后数据恢复(update,delete忘加where条件)
查看>>
MySQL 调优/优化的 101 个建议!
查看>>
mysql 转义字符用法_MySql 转义字符的使用说明
查看>>
mysql 输入密码秒退
查看>>
mysql 递归查找父节点_MySQL递归查询树状表的子节点、父节点具体实现
查看>>
mysql 通过查看mysql 配置参数、状态来优化你的mysql
查看>>
mysql 里对root及普通用户赋权及更改密码的一些命令
查看>>
Mysql 重置自增列的开始序号
查看>>
mysql 锁机制 mvcc_Mysql性能优化-事务、锁和MVCC
查看>>
MySQL 错误
查看>>
mysql 随机数 rand使用
查看>>
MySQL 面试题汇总
查看>>