谈谈我对@GetMapping和@PostMapping的理解

首先附上我查询的资料:

        

1. 

存在 @GetMapping@PostMapping 这两种不同的方法注解主要是为了符合 RESTful 架构风格和 HTTP 请求方法的语义。

REST(Representational State Transfer)是一种设计风格,用于构建分布式系统和网络应用。在 RESTful 架构中,资源(例如用户、订单、文章等)由 URL 表示,而 HTTP 请求方法(GET、POST、PUT、DELETE 等)用于对资源进行不同的操作。

根据 HTTP 规范,GET 方法用于获取资源,而 POST 方法用于创建资源或提交数据。因此,@GetMapping 注解用于处理 GET 请求,@PostMapping 注解用于处理 POST 请求,以便与 HTTP 请求方法的语义一致。

使用不同的注解可以使代码更加清晰和可读,并且能够让开发人员更容易理解和维护代码。此外,使用合适的注解还可以帮助框架在处理请求时进行正确的映射和分发。

需要注意的是,虽然 @GetMapping@PostMapping 是常用的方法注解,但 Spring MVC 还提供了其他类似的注解,例如 @PutMapping@DeleteMapping 等,用于处理相应的 HTTP 请求方法。

 2.

        

HTTP(Hypertext Transfer Protocol)和HTTPS(Hypertext Transfer Protocol Secure)是用于在客户端和服务器之间传输数据的协议,它们在以下几个方面有所区别:

  1. 安全性:HTTP 是明文传输数据的协议,数据在传输过程中不进行加密,容易被窃听和篡改。而 HTTPS 则通过使用 SSL/TLS 加密协议对数据进行加密,确保传输的数据在网络上是安全的。

  2. 数据完整性:由于 HTTP 不提供数据加密和完整性验证,所以数据在传输过程中可能被篡改。而 HTTPS 使用加密算法和数字证书来验证数据的完整性,确保数据在传输过程中没有被篡改。

  3. 默认端口:HTTP 使用的默认端口是 80,而 HTTPS 使用的默认端口是 443。通过使用不同的默认端口,客户端可以区分使用不同协议的服务器。

  4. 证书:HTTPS 使用数字证书来验证服务器的身份。证书由受信任的第三方机构颁发,用于确认服务器的身份和建立安全连接。这样可以防止中间人攻击和欺骗。

  5. 运行方式:HTTP 是基于 TCP/IP 协议运行的,而 HTTPS 在 HTTP 的基础上使用了 SSL/TLS 加密协议。

总结起来,HTTP 是一种不安全的协议,适用于不涉及敏感信息传输的场景。而 HTTPS 则通过加密和身份验证提供了更高的安全性,适用于需要保护用户隐私和数据完整性的场景,如网上银行、电子商务等。

值得注意的是,使用 HTTPS 协议需要在服务器上配置数字证书,并且对服务器的性能有一定的影响,因为加密和解密数据需要消耗计算资源。因此,在选择使用 HTTP 还是 HTTPS 时,需要根据具体需求和安全性要求进行权衡和决策。

3、

        

根据 HTTP 规范,GET 方法用于获取资源,而 POST 方法用于创建资源或提交数据。

在Web开发中,常常需要通过 HTTP 请求与服务器进行交互,GET 和 POST 是两种最常用的请求方法。

  • GET 方法用于从服务器获取资源,它是一种幂等的方法,意味着多次重复的 GET 请求应该具有相同的结果,不会对服务器状态产生影响。通常在浏览器中输入 URL、点击链接或通过表单的 GET 方法提交数据时使用 GET 请求。GET 请求的参数会附加在 URL 的查询字符串中。

  • POST 方法用于向服务器提交数据,通常用于创建新的资源或更新已存在的资源。与 GET 不同,POST 请求是非幂等的,多次提交相同的数据可能会产生不同的结果。POST 请求的参数通常包含在请求的正文中,而不是附加在 URL 上。

在Spring框架中,为了与 HTTP 请求方法的语义一致,使用注解来标识处理不同类型请求的方法。@GetMapping 注解用于处理 GET 请求,而 @PostMapping 注解用于处理 POST 请求。这样可以让代码更加清晰和符合设计意图,提高代码的可读性和可维护性。

需要注意的是,GET 请求一般用于获取数据,而不应该用于提交敏感数据,因为 GET 请求的参数会暴露在 URL 中,可能被缓存、记录日志或在网络传输中被拦截。对于包含敏感数据的操作,应该使用 POST 请求,并使用适当的安全措施,如使用 HTTPS 进行加密传输。

总结

我的理解就是,以我现在所学的springboot里面对MySQL数据库的作用,@GetMapping是用于查询MySQL数据库里面的资源(我个人感觉就是不会对数据库造成影响,就使用@GetMapping)和@PostMapping是用于增加、修改、删除MySQL数据库里面的资源(我个人感觉就是会对数据库造成影响,就使用@PostMapping,因为GET 请求一般用于获取数据,而不应该用于提交敏感数据,因为 GET 请求的参数会暴露在 URL 中,可能被缓存、记录日志或在网络传输中被拦截。对于包含敏感数据的操作,应该使用 POST 请求,并使用适当的安全措施,如使用 HTTPS 进行加密传输)。另外就是HTTP和HTTPS的区别我目前的理解是(前者用于不涉及敏感信息传输的场景,传输速度快,对服务器的性能影响不大;后者通过加密和身份验证提供了更高的安全性,适用于需要保护用户隐私和数据完整性的场景,使用 HTTPS 协议需要在服务器上配置数字证书,并且对服务器的性能有一定的影响,因为加密和解密数据需要消耗计算资源。因此,在选择使用 HTTP 还是 HTTPS 时,需要根据具体需求和安全性要求进行权衡和决策。传输速度慢,会对服务器性能有影响)。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大哥不爱开笑玩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值