百科问答小站 logo
百科问答小站 font logo



为什么很多后端写接口都不按照restful规范? 第1页

  

user avatar   li-xin-2-14 网友的相关建议: 
      

重复一下观点

restful 很有种当年 MVC 的感觉,你知道他很流行,很火,似乎是必备知识(当年面试必考)。但是你实际使用他总觉得有明显的问题,但是你自己又不够自信觉得是自己理解有问题或者使用上没有掌握到精髓。

实际上他就是有问题,一个技术规范如果非常违反直觉并且实际生产中要为了这个规范妥协很多又没有很大的好处,他就是有问题的。

这类工程上的“原教旨主义”的例子特别多:

  1. 比如就是 spring security ,这绝对是有问题的设计,太J2EE了。
  2. 还有就是hibernate 当年几乎就是行业标准的存在,思维方式和restful很像,出发点是好的,思路也是好的,但是最终的结果就是需要妥协的。
  3. 还有就是前端react先引入的思想,不可变数据,数据变化引发的状态转移,但是实际如果完全按照react的思想来做其实很麻烦,但是从思路到框架上又很迷人。

user avatar   ha-ha-ha-ha-36-70-46 网友的相关建议: 
      

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:删除某个指定动物园的指定动物     


user avatar   aetherus 网友的相关建议: 
      

技术上:光刻机的制造和使用工艺。

金融上:打破美元的霸权。

军事上:台湾问题。


别的问题(房产绑架经济、老龄化、东西部平衡等)都是发展中的问题,都是可能通过发展来解决的。

上面列的3个问题是当前面临的核心问题。




  

相关话题

  怎么评价Asp.net Web Api? 
  为什么 JS 不能绕过后端代码直接调数据库,有哪些后端处理的逻辑,JS 不能写? 
  为什么很多后端写接口都不按照restful规范? 
  为什么后端喜欢把「男女」等枚举类型的数据转成 01? 
  IT 公司需要前后端都懂的人吗? 
  后端开发完接口才给出接口文档,合理吗? 
  为什么很多后端写接口都不按照restful规范? 
  联合权限(Federated Identity)的架构问题? 
  后端开发完接口才给出接口文档,合理吗? 
  开发web前端为什么用后端node(npm安装模块和webpack打包方式)? 

前一个讨论
程序员IntelliJ IDEA都是正版吗?
下一个讨论
ElasticSearch在项目中具体怎么用?





© 2024-11-24 - tinynew.org. All Rights Reserved.
© 2024-11-24 - tinynew.org. 保留所有权利