带上RESTful的金手铐,你累吗?
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的金手铐,你累吗?的更多相关文章
- 利用DNSLOG获取看不到的信息(给盲注带上眼镜)
一.前言 本文原创作者:sucppVK,本文属i春秋原创奖励计划,未经许可禁止转载! 毕业设计总算搞得差不多了,这个心累啊.这不,完成了学校的任务,赶紧回来给蛋总交作业.今天给大家分享一个姿势吧,不是 ...
- 【HDU 4940】Destroy Transportation system(无源无汇带上下界可行流)
Description Tom is a commander, his task is destroying his enemy’s transportation system. Let’s repr ...
- 记得ajax中要带上AntiForgeryToken防止CSRF攻击
经常看到在项目中ajax post数据到服务器不加防伪标记,造成CSRF攻击 在Asp.net Mvc里加入防伪标记很简单在表单中加入Html.AntiForgeryToken()即可. Html.A ...
- ZOJ 2314 带上下界的可行流
对于无源汇问题,方法有两种. 1 从边的角度来处理. 新建超级源汇, 对于每一条有下界的边,x->y, 建立有向边 超级源->y ,容量为x->y下界,建立有向边 x-> 超级 ...
- Excel等外部程序点击链接会带上IE信息的bug
今天碰到一个问题,在Excel内点击链接到默认浏览器Chrome打开,奇怪的是服务端收到的Session一直对不上. 查了很久发现这个Excel到Chrome的跳转竟然带上了IE的Cookie 和 U ...
- 切记ajax中要带上AntiForgeryToken防止CSRF攻击
在程序项目中经常看到ajax post数据到服务器没有加上防伪标记,导致CSRF被攻击,下面小编通过本篇文章给大家介绍ajax中要带上AntiForgeryToken防止CSRF攻击,感兴趣的朋友一起 ...
- echo json数据给ajax后, 需要加上exit,防止往下执行,带上其他数据,到时ajax失败
01返回json数据给ajax后需要加上exit.返回json数据前不能有其他输出 function apply(){ if(IS_POST){$info['status'] = 1; echo js ...
- idhttp提交post带参数并带上cookie
有这么一个提交连接 http://www.XXXXXX.com/test.php?p1=411328&p2=1&d1=HeroSkinList 一共有三个参数[p1] [p2] [ ...
- Django 如何让ajax的POST方法带上CSRF令牌
问题 大家知道,在大前端领域,有一种叫做ajax的东东,即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),它被用来在不刷新页面的情况下,提 ...
随机推荐
- linux 常用 掌握要点 详细终结
linux 命令大全 每个开发者应该了解的 10 个 Linux 命令 1.查看正在执行的进程(Process) ps命令 Process Status 进程状态 语法: ps [option] ...
- xiv存储操作
XIV存储操作维护手册 二○一二年七月 目录 1. 存储划分... 3 1.1. 定义Storage Pool 3 1.2. ...
- MSSQL SQL Server代理 作业 设置(调用存储过程)
1.新建作业名 “生成分区文件及文件组“ 2.新建 步骤 名 “CreatePartTable” 步骤名:CreatePartTable 类型:Transact-SQL 脚本(T-SQL) 数据库 ...
- opencv学习笔记——cv::CommandLineParser函数详解
命令行解析类CommandLineParser 该类的作用主要用于命令行的解析,也就是分解命令行的作用.以前版本没这个类时,如果要运行带参数的.exe,必须在命令行中输入文件路径以及各种参数,并且输入 ...
- [No000018B]写代码要用 Vim,因为越难入门的工具回报越大
编者按:现在的技术界有一种倾向,将软件/应用操作简单化,用户能轻松上手.但是工具是否强大,取决于它能否灵活地满足使用者的各种需要.有些工具虽然很难入门,学会了便能对自己的操作有更深的层次的了解,能赋予 ...
- [security] security engine things
1. luarock luarock 之于 lua,就好比 pip 之于 python https://luarocks.org/ 2. lua的库 [root@base package]# ls ...
- [daily][dpdk] 网卡offload识别包类型;如何模拟环境构造一个vlan包
第一部分 硬件识别包类型 网卡,是可以识别包类型的.在dpdk的API中.识别完之后,存在这个结构里: struct rte_mbuf { ...... union { uint32_t packet ...
- Flink – submitJob
Jobmanager的submitJob逻辑, /** * Submits a job to the job manager. The job is registered at the library ...
- 转:Scanner中nextLine()方法和next()方法的区别
原文地址:https://blog.csdn.net/hello_word2/article/details/54895106 总结:next() 读取第一个 空白符之前(不包括空白符)的内容,nex ...
- 洛谷P3247 最小公倍数 [HNOI2016] 分块+并查集
正解:分块+并查集 解题报告: 传送门! 真的好神仙昂QAQ,,,完全想不出来,,,还是太菜了QAQ 首先还是要说下,这题可以用K-D Tree乱搞过去(数据结构是个好东西昂,,,要多学学QAQ),但 ...