接口基础知识4
1 请求方法的幂等性
幂等性的理解是没有问题的。但是请求方法和幂等性没有直接的关联。
在 REST API 设计中,幂等性非常重要,因为它保证了在重复请求的情况下,资源的状态始终保持一致,不会因为重复请求而发生副作用。
换成普通话,其实是开发在设计REST API时,遵循着REST API的【最佳实践】,将其设计成具备幂等性的接口。在使用REST API且遵循这些设计时,才能说:
同理,我也可以设计一个不使用REST API的幂等性接口,也可以设计出一个使用REST API但是不幂等性的接口。
我也可以使用DETETE发起新增资源的操作。
根本原因,在于HTTP的Method方法,其实只规定了消息的传输结构,这是一个更偏向技术的层面。基于HTTP我们可以使用传统API或REST API,这更像是一种规范或者技术选型。而一个接口是否具备幂等性,更多是一个业务层面的内容。
所以HTTP的Method和是否幂等性,没有直接的关系。
接口基础知识4-1
1 用途
首先是用途,只有在REST API中,才满足使用get请求获取数据,post请求传送数据的说法。这还是REST API的最佳实践。现在甚至有些暴力分子,在前后端分离的架构下,将全部接口设计为post(对,获取数据也是post)。
2 中文编码
这玩意其实叫【UrlEncode编码】,不只是中文,比如空格还有一些特殊符号。都会进行编码。
3 请求体
冷知识,通过某些工具发起的get请求,其实可以携带请求体的。(这么好玩不如拿Postman试试)