@
theqiang #28 按下 SHIFT+ENTER 换行,结果直接提交回复了,下面一楼才是完整回复。但是好多人好像只看到我这个半回复,没看下面的完整回复。
@
hidemyself #29
DELETE /user?phone=xxx 跟「根据用户手机号查询用户列表」,是一样的套路。
@
george2077 #44 /user/add /user/delete 并不符合 RESTful API 的设计原则。RESTful API 的基准原则就是,URL 仅表示资源路径故只能是名词或者等效于名词的东西,GET/POST/PUT/PATCH/DELETE 这几个 method 才能表示动作。所以只能是 POST /user ,DELETE/user 。(单复数我忘了,好像应该是复数形式。)如果你用/user/add ,最经典的问题就是 @
Pastsong #27 提到的 /user/{id}冲突。但他的 /user:add 这样也不对。
严格 RESTful API 有一个经典缺点,就是 GET/POST/PUT/PATCH/DELETE 动作不够,无法表示其他方法。当你采用领域模型来设计接口的时候,这个确定会更突出,因为领域模型在增删该查之外会有大量的其他行为方法。这个在后面单独说。
@
lambdaq #50 根据 ID 批量删除:DELETE /user?id=xx,xx,xx 。根据条件(批量)删除:DELETE /user?condition=xxx