现在的设备,系统越来越多,pc,ios,android,……
如何设计好一个RESTful 架构,
比如PC端,全网都用JSON数据交换吗,我想到一个模式不知道合不合理,业界有没有这样做的,就是 前端用 backbone 或angular 之类的 框架,前后台彻底分离(传统的是由后端处理一个路由,根据路由获取数据让后分配模板)
后台只输出JSON,把每个功能都封装成一个模块,输出一个json,比如首页由多个模块构成(用户列表模块,最新文章模块),访问首页的时候,分别发出请求,拿到json数据,再由前端模板引擎(Mustache、Underscore Templates、Embedded JS Templates、HandlebarsJS)解析。
这样做pc,ios,android就可以共用一个接口。我觉得不好的地方就是,如果一个页面模块比较多,发出的请求就多了,感觉不太好,还有就是。pc端 是通过url访问资源的,(api只输出json不分配模板)这样和API 路由有点冲突了 比如 访问 xxx.com/user/12页面 user id为12 的用户, 这就和我的API冲突了,我需要用js 请求API接口 /user/12 拿到JSON数据 在用模板引擎解析。
我说肯能不太清楚,不知大家明白没,有什么好的解决方法;
没懂题主想问什么,现在不是很多都是后台提供JSON,前端用AngularJS渲染的吗?
如果不太懂可以看这个教程:Setting Up a MEAN Stack Single Page Application
或者中文版本:
使用NodeJS和AngularJS创建一个TODO的单页网站,看看是不是和你的想法一样?
至于冲突的问题。。。设计的时候处理好不就行了吗。。
RESTful可以根据请求返回不同类型的返回值,