在RESTful架构中,每个网址代表一种资源(resource),所以网址中不能有动词,只能有名词,而且所用的名词往往与数据库的表格名对应。一般来说,数据库中的表都是同种记录的"集合"(collection),所以API中的名词也应该使用复数。
GET/zoos:列出所有动物园
POST/zoos:新建一个动物园
GET/zoos/ID:获取某个指定动物园的信息
PUT/zoos/ID:更新某个指定动物园的信息(提供该动物园的全部信息)
PATCH/zoos/ID:更新某个指定动物园的信息(提供该动物园的部分信息)
DELETE/zoos/ID:删除某个动物园
那问题来了,登录接口怎么命名呢?
getsessions/new登录页面postsessions/create登录postsessions/destroy注销
把session抽象成一种资源
RESTful只是一种命名建议,而不是什么规范,所以你用login/signup是没问题的,老板又不会因此扣你工资。
POST/logins/
一定要这么精致的话建议换个思路
登录即获取授权
获取授权这样说明白了吧
虽然我有时候也很想精致..不过该粗暴且无伤大雅的地方还是简单粗暴吧...因为活儿是大家合作干的..万一整的太高端搞得人家一脸懵逼就不太合适了...
上面已经有人抽象为session资源了
我再说个user子资源思路
putusers/{userID}/status登录登出,mybe冻结之类的