【说人话的通俗描述】
媒婆给一个女孩介绍了多个男孩,告诉女孩所有男孩的家在哪里(风景区别墅、普通小区、乡镇),以及可以要求男孩做什么(比如开车去兜风,买花来相亲,带我去看电影等等)。那么女孩在发出要求时,告诉媒婆,选住在哪里的男孩,要他开车去兜风。
RESTful的核心思想是,客户端发出的数据操作指令都是“动词+宾语”的结构,比如,GET /articles这个命令,GET是动词,/articles是宾语。
比如动物园 区域2里面有只编号为10086的老虎,那么用URL定位老虎的位置可以用如下方式:
/animals/10086
/zones/2/animals/10086
【重要知识点】
1、动词通常是五种HTTP方法,对应CRUD操作。根据HTTP规范,动词一律大写。
GET:读取(read)
POST:新建(Create)
PUT:更新(Update)
PATCH:更新(Update),通常是部分更新
DELETE:删除(Delete)
【状态码】
1xx:相关信息 ##API不需要1xx错误,很少碰到
2xx:操作成功
3xx:重定向
4xx:客户端错误
5xx:服务器错误
【2xx状态码】
GET:200 ok
POST:201 created
PUT:200 ok
PATHCH:200 ok
DELETE:204 No Content
【3xx状态码】
302和307 表示暂时重定向,主要用于get请求。
303 see other 主要用于POST、PUT、DELETE请求。收到303后,浏览器不会自动跳转,而会让用户自己决定下一步怎么办。
【5xx】状态码
5xx状态码表示服务端错误。一般来说,API不会向用户透露服务器的详细信息,所以只要两个状态码就够了。
500 internal server error:客户端请求有效,服务器处理时发生了意外。
503 service unavailable:服务器无法处理请求,一般用于网站维护状态。
【参考资料】
如何通俗地解释RESTful?https://segmentfault.com/q/1010000006119758?_ea=1030600
RESTful API最佳实践 http://www.ruanyifeng.com/blog/2018/10/restful-api-best-practices.html