【简单由来】互联网以及科技发展,出现诸如Android,iOS ,网页等多个client来使用消费服务,所以出现了RESTful Web API架构 来统一接口,更好的服务于各个端,方便开发,部署,扩展,安全,缓存等等。
【说明】RESTful Web API是 服务于多client与server的一种架构,不是具体的标准。只要符合RESTful 的约束要求,都是RESTful Web API。
RESTful,Representational state transfer,或Resource Representational State Transfer
【要点】
1、简单理解就是,使用http的不同method(get, post, put, delete)请求url完成 访问
2、区分stateless 与stateful (无状态与有状态),RESTful 需要无状态的api请求
//错误实例
GET http://MyService/NextPerson
3、需要的状态stateful 可以用cookie或session或者token来完成,比如权限等等
参考 The New RBAC: Resource-Based Access Control 使用shiro
4、RESTful 需要定义好api的uri, 【不要包含动作】就是定义资源,和请求的方法,【规范化】,不然RESTful 会流于形式,【这是设计RESTful API的重点】
//错误实例
GET /deleteProduct/1
其他帮助理解 RESTful 的文章:
The Java EE 6 Tutorial—-What Are RESTful Web Services?
百度百科–RESTful
书—-REST实战
RESTful Web Services: A Tutorial 【推荐阅读】
wiki—-Representational state transfer 【RESTful 历史由来】
知乎—REST 架构该怎么生动地理解?
阮一峰—-RESTful API 设计指南
segmentfault—RESTful 多参数定义资源问题