开发了那么久,对接接口已经很老练了,但是对于rest和restful概念真的没有听过,而且也没有用过get、post之外的方法。
rest:
客户端和服务器之间的交互在请求之间是无状态的。从客户端到服务器的每个请求都必须包含理解请求所必需的信息。此外,无状态请求可以由任何可用服务器回答。所有资源都共享统一的接口,以便在客户端和服务器之间传输状态。使用的是标准的 HTTP 方法,比如 GET、PUT、POST 和 DELETE。值得注意的是REST并没有一个明确的标准,而更像是一种设计的风格。
restful:遵守rest原则的web服务,也就是rest式的应用。restful是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义或JSON格式定义。restful适用于移动互联网厂商作为业务使能接口的场景。在restful架构中,浏览器使用POST,DELETE,PUT和GET四种请求方式分别对指定的URL资源进行增删改查操作。因此,restful是通过URI实现对资源的管理及访问,具有扩展性强、结构清晰的特点。
简单理解,比如我们增删改查四个接口,一般会这样定义接口地址:
增:api/user/add
删:api/user/delete
改:api/user/update
查:api/user/get
然后使用的都是get、post方法,
resetful风格的接口是这样的:
增:api/user PUT
删:api/user DELETE
改:api/user POST
查:api/user GET
通过HTTP的方法定义接口对数据的操作。
要注意的是,因为restful是无状态的,所以对于认证机制也就是权限管理是非常重要的。通过权限去限制用户是否可以进行增删改查的操作。
其实并不知道大公司是不是都使用restful风格,开发到现在,也都没有对接过这样的接口,万年的get和post方法。