SpringBoot微服务web页面是否可以采用纯html+angularjs(或其他 MVVM 框架)
SpringBoot微服务web页面是否可以采用纯html+angularjs(或其他 MVVM 框架)
方案一:采用纯html+angularjs
web应用微服务纯html(后台没用采用类似与Freemarker模板技术)通过ajax请求调用微服务RestApi,然后采用angularjs类似的框架。
但是问题来了
a. 页面的路径如果项目名改变了就得批量修改
b. html页面与html页面做跳转传参的话有点麻烦,不过js根据url可以解决此问题。(但是个人感觉又有点不合理)
方案二:采用SpringMVC+Freemarker模板技术
web应用微服务页面采用Freemarker渲染成html,通过ajax请求调用微服务RestApi
但是问题来了
a. 不能调用跳转的页面,如果要跳转页面的话必须在web应用微服务这边多写一个controller做跳转页面,也可以写个过滤器定制统一路径访问规则,但是会牺牲灵活性。
b. web应用微服务调用其他的微服务时不能给页面赋值,还是得通过ajax请求后采用MVVM类似的框架赋值
现在有点犹豫,望请高手指点,如有更好的方案多多分享。谢谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
跨域问题,可以使用代理服务器解决,就是怕前台页面Hold不住
我也建议前后端分离的方式 跨域问题不是问题。
angular2的https://github.com/search?utf8=%E2%9C%93&q=springboot+angular2
恩恩,好的 谢谢 我先看看
非常感谢你的回答,如果采用SPA架构是否对于后端开发来说负担比较重,因为目前还没有前端,所以对于后端开发人员来说js不是很精通,只是熟悉会用。是否告知下,以前你在项目中采用SPA架构用的什么技术能否分享下,谢谢!
回复
@微风徐徐 : SPA 架构的后端,就是纯粹提供数据接口而已,可以说与 APP 的后端没有本质区别,个人认为与传统的 Web 后端开发相比要相对简单。但从项目整体来说技术复杂度提高了不少,前端的变化太快了(但是值得)…… 本人之前项目的架构是 React + Dropwizard,所有静态资源放在 Nginx 上。Nginx 同时负责反向代理等
仅讨论方案一:
方案一的定位应该是属于完全的前后端分离的 SPA 架构。如果采用这类架构,题主的两个疑问应当是不存在的,理由如下:
1. SpringBoot 作为后端仅提供 RESTFul 接口,前端页面仅部署在静态资源服务器上。这二者间要么通过 CORS 跨域调用,要么通过反向代理转成同域调用,无论哪种方式都和“项目名”之类的无关吧……
2. SPA 中不存在 html 和 html 间的跳转……如果是指新开窗口,个人觉得通过 URL 传参也不是什么不合理的方式,前端路由同样是基于 URL 设计的,通过 URL 描述状态再正常不过。