restful api开发网站的要怎样架构?
看了github 的 api 感觉相当的优雅。通过对restful api的简单了解,有以下问题和想法,不知道对不对!?
可以完全将前端和后端分离开。我可以先开发出一套网站的api出来,然后写前端的时候通过 ajax 使用这些 api,但是隐约感觉全凭ajax不太可靠。这好像完全将前端分离出来,放到静态服务器上也未尝不可,感觉这种想法有点非主流...
和上一点有点相似,逻辑在api实现,但是前端部分的话也要有另一个服务器作为后台,只不过这个后台只是单纯调用api 返回给前台,这样比全靠ajax感觉痛快了很多。
第三个想法,将数据封装好直接返回给前台。这样即使按着restful API 设计风格写,因为没有写出api,好像 restful API 也就没什么意义了。
希望有经验前辈多多指教@ @
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
API返回JSON,前面可以是ajax也可以网页加载请求,无所谓
我感觉到的优点就是安卓/IOS/PC 可以共用
你可以参考下面这篇文章给出的建议:
ENG: http://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api
CN: http://blog.jobbole.com/41233/
建议将后端服务划分成为2大类
1. domain resource server (基于domain的添删改查的操作)
2. services (功能类的服务)
区分这2个类型的主要区别在于系统的交互被抽象成domain.
如果可以被抽象出domain 例如:
登录和登出可以抽象出User 对象(domain)
login
Response
logout
Response
如果不能抽象出domain的,例如: 全站搜索
search
目前的发展趋势就是这样的。
你说的
“完全将前端和后端分离开,先开发出一套网站的api出来,然后写前端的时候通过AJAX使用这些API"
是完全可行的,AJAX一样可以实现Cookie/Session之类的访问控制,安全性并没有问题。(我是学过信安的,现在做后台开发的,我可以很负责任的说,AJAX是可靠的。)
当然,现在大部分网站还没有这样,其实问题并不在于这种架构本身,而是这种架构其实是把后端的一部分工作分到前端去了,对前端人员的能力要求比较高。
(举例:以前做前端只需要会HTML+CSS+JS就差不多了,现在你可能还要会个JS框架,熟悉HTTP协议,甚至最好还要懂点后端的知识才行了。)
不过基于目前APP泛滥、RESTFUL API兴起、JS框架层出不穷,网页美观性、用户体验要求越来越高(以至于对前端的技术要求也越来越高)的事实……
这种设计是早晚的事。
各种加载快速、美观、用户体验好、设计更活泼、架构更统一和规范、服务器负载均衡等等的优势我就不说了……
http://www.moonlord.cn
不知道你有没有 分析过
印象笔记 web 版
, 或者国内的 又拍云 存储
, 研究一下就知道该怎么办了。你的问题属于 web 系统架构问题。
这样的项目实施起来并不复杂,但是需要你在前端方面有点研究,光靠 jquery 可是远远 不够用的。
如果还不知道。可以给我邮件 ychangsheng@gmail.com
RESTful API 设计最佳实践 推荐一个特别简单的restful框架 https://github.com/Dreampie/resty
github 的 api 是典范啊!
关于RESTful:链接
关于API设计:链接