没想到RESTful吸引这么多人讨论
看来RESTful真的是一个概念各种表述
小弟刚接触RESTful的时候
曾经很热血的把一百多支API从只有post/get改成RESTful
改完之后有些人觉得好 有些人觉得无所谓
也有人觉得一律POST 这样client实作最方便 只要能用就好
后来我遇到一个例子
要提供API搜寻文章历史纪录 可选的输入字段有N种
url可能长这样
ooxx.com/posts/query?writerNameKeyword=..&minRate=..&maxRate=..
假设还有浏览数/发文日期/国家杂七杂八的可选输入字段
因为是可选所以也不适合用posts/{country}/query?
日期 浏览数这类的字段看起来也是放在querystring比较好
最后整个url就超级长
虽然SPA设计不会让这串url出现在浏览器网址
但是看到这串这么长还是会觉得很怪
这时候就很想用POST把参数都放body 小组讨论后也觉得这样比较好
各位觉得呢?
后来其他系统我也不再坚持query一定要用GET了
顺带一提 最近发现虾皮购物前端呼叫的api也改成不是restful了..
v2版本的下架商品是PUT , 把整个商品资料json带入 status改成8
删除商品是 DELETE products/{id}
v3版本entry变成 update_product 跟 delete_product
verb都是POST
以前在开发也经常为了RESTful命名花很多时间
甚至还要跟小组讨论 或是有人写出不是RESTful的时候还要重写
最后APP开发者串接还是要看文件才行
只是看到RESTful的接口可能觉得很干净 用起来有一种爽度
但是文件不说明你还是不会知道这支API所有的细节
反应到开发成本上 坚持完全RESTful的设计 我是没有感觉到优势