SpringBoot微服务web页面是否可以采用纯html+angularjs(或其他 MVVM 框架)

微风徐徐 发布于 2016/11/24 10:56
阅读 3K+
收藏 1

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类似的框架赋值

现在有点犹豫,望请高手指点,如有更好的方案多多分享。谢谢!


加载中
1
某刀
某刀

仅讨论方案一:

方案一的定位应该是属于完全的前后端分离的 SPA 架构。如果采用这类架构,题主的两个疑问应当是不存在的,理由如下:

1. SpringBoot 作为后端仅提供 RESTFul 接口,前端页面仅部署在静态资源服务器上。这二者间要么通过 CORS 跨域调用,要么通过反向代理转成同域调用,无论哪种方式都和“项目名”之类的无关吧……

2. SPA 中不存在 html 和 html 间的跳转……如果是指新开窗口,个人觉得通过 URL 传参也不是什么不合理的方式,前端路由同样是基于 URL 设计的,通过 URL 描述状态再正常不过。

某刀
某刀
回复 @微风徐徐 : SPA 架构的后端,就是纯粹提供数据接口而已,可以说与 APP 的后端没有本质区别,个人认为与传统的 Web 后端开发相比要相对简单。但从项目整体来说技术复杂度提高了不少,前端的变化太快了(但是值得)…… 本人之前项目的架构是 React + Dropwizard,所有静态资源放在 Nginx 上。Nginx 同时负责反向代理等
微风徐徐
非常感谢你的回答,如果采用SPA架构是否对于后端开发来说负担比较重,因为目前还没有前端,所以对于后端开发人员来说js不是很精通,只是熟悉会用。是否告知下,以前你在项目中采用SPA架构用的什么技术能否分享下,谢谢!
0
QiHaiYan
QiHaiYan
可以,https://github.com/qihaiyan/ng-boot-oauth  这儿有一个springboot+angular1+oauth2的示例程序,angular程序在ui-implicit目录下。
微风徐徐
恩恩,好的 谢谢 我先看看
0
beyondforever68
beyondforever68
angular2的https://github.com/search?utf8=%E2%9C%93&q=springboot+angular2
0
大东Daniel
大东Daniel

我也建议前后端分离的方式  跨域问题不是问题。


微风徐徐
跨域问题,可以使用代理服务器解决,就是怕前台页面Hold不住
返回顶部
顶部