@PostMapping和@GetMapping的区别

这两个注解用了很久了,一直没有认真的了解过,单纯的就认为,

前端用get请求,我就用getmapping,或者后端对于数据的增加的时候就用postmapping,

上周的时候,修改一个接口,后端是postmapping,前端说传参了,但是我这边没有收到。

前端浏览器中确实可以看到传来了参数,但是后端没有接到。

后来得知前端用的是get请求调用的接口,

本以为后端会报405错误,但是后端却是因为没收到参数而报的确是空指针异常。

研究了一下,原来这两个注解不单单是我理解的那样。

这两个注解除了接受的请求方式不同,由于请求方式的不同接收参数的方式也不同。

前端用了get方式请求后端的postmapping注解的方法,然后get请求参数放在了url中,也就是请求头中,而postmapping接收请求后,是在请求体中去找参数,所以没有收到。报了错误。

以下是找到的区别

@GetMapping用于处理HTTP GET请求,而@PostMapping用于处理HTTP POST请求。这两个注解在参数传递方式、安全性、RESTful API设计以及参数长度限制方面也有所不同:12

  1. 参数传递方式:@GetMapping通常从URL路径中获取参数,而@PostMapping则从请求体中获取参数。
  2. 安全性:由于POST请求将数据放在请求体中,而GET请求会将数据放在URL中,因此POST请求比GET请求更安全,因为GET请求将参数暴露在URL中,所以不建议使用GET请求来处理敏感数据。
  3. RESTful API设计:@GetMapping通常用于查询资源,而@PostMapping通常用于创建或更新资源。
  4. 参数长度限制:虽然GET请求理论上没有请求体的大小限制,但是URL的长度有一定的限制,因此在传递大量参数或者长字符串时,可能会出现参数被截断的情况。

简而言之,@Postmapping和@Getmapping的主要区别在于它们分别对应HTTP的POST和GET请求,并且在处理方式、安全性和设计原则上有所不同。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值