近期做的项目中准备引入RESTful风格,特地进行了一些学习,其中比较重点的有一个理查德成熟度模型(Richardson Maturity Model),模型提出了四个等级(0-3),如下图
其中只有Level3才能算作真正的RESTful模型,下面对各个级别进行一些简单的介绍
Level 0:直接通过一些固定的URL和单一的请求方式(如只用POST或只用GET)传入请求,请求指向的资源、操作方法、数据等都写在请求数据中,通常只用单一的
Level 1:在URL中对资源进行了区分,用单一的请求方式(如只用POST或只用GET)传入请求,操作只针对URL指定的资源进行,操作方法等依然在请求数据中传输
Level 2:使用了HTTP动词,通过请求方式来区分操作方法,如GET、POST、PUT、DELETE等
Level 3:在返回结果中加入可能执行的进一步操作的URL,给予对接开发人员关于接口操作的提示
就个人理解,引入RESTful模型的好处是采用了一种通用的标准来规范接口,可以有效降低接口对接开发时的沟通成本,且让开发人员更加深入的考虑接口的设计。
相关补充:
REST:REpresentational State Transfer,表述性状态转移