REST api

REST API

image

动词不统一

之前我们设计接口的时候,一般都是命令式的,比如
查询订单 编辑用户 删除数据
有的人给的命令更详细
通过订单编号查询订单

实现起来,接口名称,更是因人而异
比如同一个项目,用户模块的修改和新闻模块的修改,命名分别是:
EditUserInfo ModifyNews
同样的,对于“保存”,更是使用不同的动词

SaveXXX AddXXX NewXXX CreateXXX

还有使用SQL动词的
IntertXXX

我还见过
XinJianXXX

所以,统一动词很有必要
能不能像C# IDispose接口一样,只是约束大家释放资源的动词是Dispose

HTTP Method 统一动词

找动词,HTTP Method这不是现成的吗?
image

主语 + 谓语 + 宾语

英语语法中,主语 + 谓语 + 宾语 构成简单的句子,对世界动态描述

对世界静态描述是:主系表,I am handsome.

有了动词,需要名词。

这个名词,就是用于描述你的内容,你的数据...
我们给起一个名字叫做:资源。

比如:订单,用户,商品,书籍,手机..
有形的资源好理解,但无形的资源,让人为难

image

命名是合理抽象的过程。
比如:登录、退出登录、同步数据等,这些只是一个动作,只有动词没有名词呀
那就做些适当的转换,抽象,把它转成动词+名词

登录,为什么需要登录操作呢?登录的输入输出是什么呢?
登录目的是为了知道你是谁,输入能证明你的信息,输出token或者cookie之类的凭据,在后续的绘画中使用。
那么登录可以认为是创建一个会话,是创建一个token

POST /sessions
POST /tokens

同理,退出登录(注销),则是为了清除会话或token

DELETE /sessions
DELETE /tokens

同步数据呢?可以理解为创建一个“数据同步”的任务

POST /tasks/data-sync

类比

Screenshot_1
Powershell的命令就是这种类REST的设计
动词-名词

(某种)操作-(某种)资源

posted @ 2025-09-16 10:59  talentzemin  阅读(9)  评论(0)    收藏  举报