SpringBoot中四种请求区别和应用

SpringBoot中四种请求区别和应用

在开发过程中,我们需要接受前端html中的请求来响应后端的数据,在SpringBoot中符合rest风格的编码有四种的请求方式,post、get、put、delete。下面来浅谈四种请求的区别。

POST请求

首先Post请求是http请求的一种。HTTP 协议是以 ASCII 码传输,建立在 TCP/IP 协议之上的应用层规范。 最常见的 POST 提交数据的方式了。浏览器的原生 <form> 表单。

案例

<form th:action="@{/emp}" method="post">
</form>
@PostMapping("/emp")
public String addEmp(Employee employee){
	return "redirect:/emps";
}

POST请求是向服务器端发送数据的,但是该请求会改变数据的种类等资源,就像数据库的insert操作一样,会创建新的内容。几乎目前所有的提交操作都是用POST请求的。

特点:

  • post提交数据相对于get的安全性高一些。(注意:抓包软件也会抓到post的内容,安全性要求高可以进行加密)

  • 传递数据量大,请求对数据长度没有要求。

  • 请求不会被缓存,也不会保留在浏览器的历史记录中。

  • 用于密码等安全性要求高的场合,提交数据量较大的场合,如上传文件,发布文章等。

  • POST方式提交数据上限默认为8M(可以在PHP的配置文件post_max_size选项中修改)

GET请求

GET请求会向数据库发索取数据的请求,从而来获取信息,该请求就像数据库的select操作一样,只是用来查询一下数据,不会修改、增加数据,不会影响资源的内容,即该请求不会产生副作用。 常见发起GET请求的方式有:URL 、src/href、表单(form)。

案例

http://www.yundama.com/index/login?username=123456&password=uivhHvujjg&utype=1&vcode=gba
@GetMapping("/login")
public String list(Model model){
	return "emp/list";
}

特点:

  • get方式在url后面拼接参数,只能以文本的形式传递参数。

  • 传递的数据量小,4kb左右(不同浏览器会有差异)。

  • 安全性低,会将信息显示在地址栏。

  • 速度快,通常用于对安全性要求不高的请求。

PUT请求

PUT请求是向服务器端发送数据的,从而改变信息,该请求就像数据库的update操作一样,用来修改数据的内容,但是不会增加数据的种类等,也就是说无论进行多少次PUT操作,其结果并没有不同。

案例

<form th:action="@{/emp}">
	<!--发送put请求修改数据-->
	<input type="hidden" name="_method"  th:value="put">
</form>
@PutMapping("/emp")
public String updateEmployee(Employee employee){
	return "redirect:/emps";
}

DELETE请求

DELETE请求顾名思义,就是用来删除某一个资源的,该请求就像数据库的delete操作。

案例

<form id="deleteEmpForm" >
   <input type="hidden" name="_method" value="delete"/>
</form>
@DeleteMapping("/emp/{id}")
public String deleteEmployee(@PathVariable("id") Integer id){
    return "redirect:/emps";
}

综上所述,我们可理解为以下:

  • POST /url 创建

  • DELETE /url/xxx 删除

  • PUT /url/xxx 更新

  • GET /url/xxx 查看

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值