重复一下观点
restful 很有种当年 MVC 的感觉,你知道他很流行,很火,似乎是必备知识(当年面试必考)。但是你实际使用他总觉得有明显的问题,但是你自己又不够自信觉得是自己理解有问题或者使用上没有掌握到精髓。
实际上他就是有问题,一个技术规范如果非常违反直觉并且实际生产中要为了这个规范妥协很多又没有很大的好处,他就是有问题的。
这类工程上的“原教旨主义”的例子特别多:
restful真是让我怀疑我的品味是太特殊, 还是这个世界是错的.
至成心境:(转)深入理解什么是RESTful API
上面这篇文章中有个例子
GET /zoos:列出所有动物园 POST /zoos:新建一个动物园 GET /zoos/ID:获取某个指定动物园的信息 PUT /zoos/ID:更新某个指定动物园的信息(提供该动物园的全部信息) PATCH /zoos/ID:更新某个指定动物园的信息(提供该动物园的部分信息) DELETE /zoos/ID:删除某个动物园 GET /zoos/ID/animals:列出某个指定动物园的所有动物 DELETE /zoos/ID/animals/ID:删除某个指定动物园的指定动物
对比下面这一个
list_zone:列出所有动物园 create_zone:新建一个动物园 get_zone_by_id:获取某个指定动物园的信息 update_zone:更新某个指定动物园的信息(提供该动物园的全部信息) update_zone:更新某个指定动物园的信息(提供该动物园的部分信息) delete_zone:删除某个动物园 get_animals_of_zone:列出某个指定动物园的所有动物 delete_animal:删除某个指定动物园的指定动物
那个更清晰, 更精确, 更易于理解不是显而易见?
我唯一能想到的restful的优势就是, restful可以带来的难以维护的代码让人不容易失业
restful is a piece of shit!
很多人还不服. restful的可读性和下面这个没有太大区别
汪 /zoos:列出所有动物园 汪汪汪汪汪 /zoos:新建一个动物园 汪 /zoos/ID:获取某个指定动物园的信息 汪汪汪 /zoos/ID:更新某个指定动物园的信息(提供该动物园的全部信息) 汪汪汪汪 /zoos/ID:更新某个指定动物园的信息(提供该动物园的部分信息) 汪汪 /zoos/ID:删除某个动物园 汪 /zoos/ID/animals:列出某个指定动物园的所有动物 汪汪 /zoos/ID/animals/ID:删除某个指定动物园的指定动物
技术上:光刻机的制造和使用工艺。
金融上:打破美元的霸权。
军事上:台湾问题。
别的问题(房产绑架经济、老龄化、东西部平衡等)都是发展中的问题,都是可能通过发展来解决的。
上面列的3个问题是当前面临的核心问题。