REST api
REST API

动词不统一
之前我们设计接口的时候,一般都是命令式的,比如
查询订单 编辑用户 删除数据
有的人给的命令更详细
通过订单编号查询订单
实现起来,接口名称,更是因人而异
比如同一个项目,用户模块的修改和新闻模块的修改,命名分别是:
EditUserInfo ModifyNews
同样的,对于“保存”,更是使用不同的动词
SaveXXX AddXXX NewXXX CreateXXX
还有使用SQL动词的
IntertXXX
我还见过
XinJianXXX
所以,统一动词很有必要
能不能像C# IDispose接口一样,只是约束大家释放资源的动词是Dispose
HTTP Method 统一动词
找动词,HTTP Method这不是现成的吗?

主语 + 谓语 + 宾语
英语语法中,主语 + 谓语 + 宾语 构成简单的句子,对世界动态描述
对世界静态描述是:主系表,I am handsome.
有了动词,需要名词。
这个名词,就是用于描述你的内容,你的数据...
我们给起一个名字叫做:资源。
比如:订单,用户,商品,书籍,手机..
有形的资源好理解,但无形的资源,让人为难
命名是合理抽象的过程。
比如:登录、退出登录、同步数据等,这些只是一个动作,只有动词没有名词呀
那就做些适当的转换,抽象,把它转成动词+名词
登录,为什么需要登录操作呢?登录的输入输出是什么呢?
登录目的是为了知道你是谁,输入能证明你的信息,输出token或者cookie之类的凭据,在后续的绘画中使用。
那么登录可以认为是创建一个会话,是创建一个token
POST /sessions
POST /tokens
同理,退出登录(注销),则是为了清除会话或token
DELETE /sessions
DELETE /tokens
同步数据呢?可以理解为创建一个“数据同步”的任务
POST /tasks/data-sync
类比

Powershell的命令就是这种类REST的设计
动词-名词
(某种)操作-(某种)资源


浙公网安备 33010602011771号