知识卡片
REST的本质是把"资源、动词、表示形式"三者分开,而不是用URL冒充函数调用
内容
像/getemployees?type=salaried这种把动词直接塞进路径里的写法,是对REST最常见的误用——它把”名词”(关心的事物)和”动词”(对它做什么)混在了一起。真正的REST做法是把URL设计成纯粹的资源名词(如/employee/salaried),对同一个地址发起GET、POST、PUT、DELETE分别对应查询、创建、更新、删除,请求”这个东西是什么”和”我要对它做什么”是两个独立的问题。判断一个设计是不是在滥用REST的简单方法:如果纠结”4个动词是否够用来实现我想要的功能”,那么多半不是在设计信息资源,而是在惦记着调用某个具体行为——这种场景下坦然使用RPC式接口(哪怕是SOAP)反而更诚实。
参考来源
《架构之美》第5章《面向资源的架构:在Web中》