当前位置: 移动技术网 > IT编程>开发语言>Java > 前后端分离个人博客(Vue+SpringBoot+element ui)

前后端分离个人博客(Vue+SpringBoot+element ui)

2020年07月09日  | 移动技术网IT编程  | 我要评论

1.前后端分离项目

实现效果:
在这里插入图片描述
在这里插入图片描述

技术栈:

  • SpringBoot
  • Rabbitmq
  • ElasticSearch
  • mybatis plus
  • shiro
  • lombok
  • redis
  • hibernate validatior
  • jwt

2.Java后端接口开发

1.SpringBoot整合Mybatis Plus

2.统一结果封装
这里我们用到了一个Result的类,这个用于我们的异步统一返回的结果封装。一般来说,结果里面有几个要素必要的

是否成功,可用code表示(如200表示成功,400表示异常)
结果消息
结果数据

3.整合shiro+jwt,并会话共享

4.登录接口开发

5.博客接口开发

6.ElasticSearch+Rabbitmq实现搜索引擎

3.Vue前端页面开发

1.Vue环境准备,新建项目

2.安装element-ui,axios
引入element-ui组件(element.eleme.cn),这样我们就可以获得好看的vue组件,开发好看的博客界面。

3.页面路由
我们在views文件夹下定义几个页面:

  • BlogDetail.vue(博客详情页)
  • BlogEdit.vue(编辑博客)
  • Blogs.vue(博客列表)
  • Login.vue(登录页面)
  • Search.vue(搜索页面)

4.路由权限拦截

记录一下开发中遇到的问题

1.vue-route路由跳转同一个子页面时数据不会更新, 要刷新一次页面才会更新数据。

2.ES查询运行时报错

Caused by: java.lang.NoSuchMethodError: org.elasticsearch.search.SearchHits.getTotalHits()J
	at org.springframework.data.elasticsearch.core.ElasticsearchTemplate.doCount(ElasticsearchTemplate.java:513) ~[spring-data-elasticsearch-3.2.5.RELEASE.jar:3.2.5.RELEASE]
	at org.springframework.data.elasticsearch.core.ElasticsearchTemplate.count(ElasticsearchTemplate.java:490) ~[spring-data-elasticsearch-3.2.5.RELEASE.jar:3.2.5.RELEASE]

查看代码很容易看出es 的getTotalHits返回的类型为TotalHits,而spring-data-elasticsearch3.1.5返回类型却为long。明显是spring-data的代码版本没更新引用的代码错误。

尝试更新到最新的spring-data-elasticsearch 3.2.5,仍然是未对totalhits作处理。怎么办呢?看来是无法使用es7.X.X版本了,不然得对spring-data-elasticsearch 作更改,当然不是不行,而是代价太大(比如可以用aspectj对报错方法进行拦截),最简单的只能是降低ES的版块(目前3.2.5支持的elasticsearch最高版本为6.8.6,将es版本换下来,即可正常运行。也可不使用spring-data-elasticsearch,直接直接elasticsearchTemplate调用)。

本文地址:https://blog.csdn.net/jie_7012/article/details/107158343

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网