REpresentational State Transfer 表述性状态转移。
取一个数据,我们采用 GetData.aspx?id=1
REST 的设计者觉得:不应该这样,应该是采用 HTTP 谓词 GET 去请求 Data.aspx。
所以:
GET 是“查”。
POST 是“增”,也有说是“增”和“改”。
PUT 是 “增”和“改”,也有说仅是“增”。
DELETE 是“删”。
设计者和支持者觉得这样更简洁,我倒是觉得,业务不是想象的那样简洁,你用一个框死的东西去处理一个复杂的东西,最终只能是搞得更复杂。就如上面,还没开始,很多人就已经搞混了 POST 和 PUT 了。
假如我要提交一个名单:
名单中有,数据库中无的,就“增”。
名单中有,数据库中有的,就“改”。
名单中无,数据库中有的,就“删”。
这又用哪个谓词呢?
假如我要提交一批数据:
首先清空表。
再用这批数据填充。
这又用哪个谓词呢?
还有资源方面,什么都跟 URI 绑定在一起,维护不嫌麻烦吗?
反正都是绞起的,不如不用这种绞的方法。