1. 首先RESTful是一套规范,不是框架,它是来约束你的。也不关心生产效率的提高。就好像使用汇编开发应用,性能是快了,但是生产效率很低。RESTful它需要你在路由上定义很多规则来解释的URL,假如你有1000个接口,你是不是得写1000个正则表达式来解释URL,还得管理它不让它出错,成本是不是很高?业务代码都没有写,就折腾这些去了。

   2. 在开发的层面上,把这么多参数堆积在url上,看起来其实不直观。举个类比的例子。

   例子1 在linux命令行里,文件,目录过长的路径是不是看起来很头疼,看都不想看。 你就很想使用tree命令查看结构化的目录文件

例子2 在写代码的函数里,是不是入参个数超过6个,就开始觉得这个函数看起来很麻烦了?

    url上带有各种参数,请问如何调试?假如我要批量删除,如果100个用户,拼接的url是不是特别长?

以上的问题,都是可以通过程序员的聪明才智在RESTful规范下解决,但是值得你这样去做吗?

3. 个人感受,我觉得RESTful是web时代的产物,因为浏览器里面就只能输入url,他们希望通过url就能实现web的全部功能。但是现在这个时代,就算是网页web也是要很多响应式的交互,并不是论坛,网页那种简单的数据的陈列展示了。

4. RESTful 把各种资源都拆分这么细,让客户端自己分别请求,就好像客户端在操作数据库一样。RESTful api,特别是一些开放平台,面向不定的客户端,它无法知道它的使用者到底要如何使用它,所以它为了灵活性就相当于把数据库的操作能力转了一下给了客户端 。可是app最好不要请求这么多接口,最好一次请求返回整个页面的数据。‘


所以使用RESTful ,你考虑一下生产效率,维护成本,调试方便,有没有做成开发平台的必要性?

带上RESTful的金手铐,你累吗?的更多相关文章

  1. 利用DNSLOG获取看不到的信息(给盲注带上眼镜)

    一.前言 本文原创作者:sucppVK,本文属i春秋原创奖励计划,未经许可禁止转载! 毕业设计总算搞得差不多了,这个心累啊.这不,完成了学校的任务,赶紧回来给蛋总交作业.今天给大家分享一个姿势吧,不是 ...

  2. 【HDU 4940】Destroy Transportation system(无源无汇带上下界可行流)

    Description Tom is a commander, his task is destroying his enemy’s transportation system. Let’s repr ...

  3. 记得ajax中要带上AntiForgeryToken防止CSRF攻击

    经常看到在项目中ajax post数据到服务器不加防伪标记,造成CSRF攻击 在Asp.net Mvc里加入防伪标记很简单在表单中加入Html.AntiForgeryToken()即可. Html.A ...

  4. ZOJ 2314 带上下界的可行流

    对于无源汇问题,方法有两种. 1 从边的角度来处理. 新建超级源汇, 对于每一条有下界的边,x->y, 建立有向边 超级源->y ,容量为x->y下界,建立有向边 x-> 超级 ...

  5. Excel等外部程序点击链接会带上IE信息的bug

    今天碰到一个问题,在Excel内点击链接到默认浏览器Chrome打开,奇怪的是服务端收到的Session一直对不上. 查了很久发现这个Excel到Chrome的跳转竟然带上了IE的Cookie 和 U ...

  6. 切记ajax中要带上AntiForgeryToken防止CSRF攻击

    在程序项目中经常看到ajax post数据到服务器没有加上防伪标记,导致CSRF被攻击,下面小编通过本篇文章给大家介绍ajax中要带上AntiForgeryToken防止CSRF攻击,感兴趣的朋友一起 ...

  7. echo json数据给ajax后, 需要加上exit,防止往下执行,带上其他数据,到时ajax失败

    01返回json数据给ajax后需要加上exit.返回json数据前不能有其他输出 function apply(){ if(IS_POST){$info['status'] = 1; echo js ...

  8. idhttp提交post带参数并带上cookie

    有这么一个提交连接 http://www.XXXXXX.com/test.php?p1=411328&p2=1&d1=HeroSkinList 一共有三个参数[p1]  [p2]  [ ...

  9. Django 如何让ajax的POST方法带上CSRF令牌

    问题 大家知道,在大前端领域,有一种叫做ajax的东东,即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),它被用来在不刷新页面的情况下,提 ...

随机推荐

  1. mongodb三种存储引擎高并发更新性能专题测试

    背景说明 近期北京理财频道反馈用来存放股市实时数据的MongoDB数据库写响应请求很慢,难以跟上业务写入速度水平.我们分析了线上现场的情况,发现去年升级到SSD磁盘后,数据持久化的磁盘IO开销已经不是 ...

  2. go 的正则表达式

    go 操作字符串.由于 go 中的字符串不是对象,所以没有直接操作字符串的相关方法.要操作字符串可以使用 strings 包或者 regexp 包处理. 一.简要介绍一下,strings 包 (str ...

  3. 2018ACM-ICPC南京区域赛---AJGIDKM

    含[最小球覆盖][最大流isap]模板. 题面pdf https://codeforc.es/gym/101981/attachments/download/7891/20182019-acmicpc ...

  4. robot framework教程-------虫师

    http://www.testclass.net/2017/09/28/happy-holidays/

  5. MySQL的JDBC驱动源码解析

    原文:   MySQL的JDBC驱动源码解析 大家都知道JDBC是Java访问数据库的一套规范,具体访问数据库的细节有各个数据库厂商自己实现 Java数据库连接(JDBC)由一组用 Java 编程语言 ...

  6. 主从读写分离----mysql-proxy0.8.5安装与配置

    废话不多说,直接开干: 1.安装环境: yum -y install libevent glib2 lua gcc gcc-c++ autoconf mysql-devel libtool pkgco ...

  7. JavaScript:改变 HTML 图像

    JavaScript:改变 HTML 图像 1.代码如下: <!DOCTYPE HTML> <html> <head> <meta charset=" ...

  8. DHCP协议和PXE

    在学习IP地址基本概念之后,需要了解到如果需要和其他机器通讯,我们就需要一个通讯地址,我们需要给网卡配置一个地址. 如何配置 IP 地址? 可以用命令行自己配置一个地址.可以使用 ifconfig,也 ...

  9. CMSampleBufferRef转换

    参考链接:https://blog.csdn.net/shenyi0106/article/details/47004039 https://blog.csdn.net/jeffasd/article ...

  10. Chap2:二进数值与记数系统[Computer Science Illuminated]

    1 基数(base):记数系统的基本数值,规定了这个系统中使用的数字量和数位位置的值 2 数字采用位置计数法进行编写 位置计数法(positional notation):一种表达数字的系统,数位按顺 ...