错误日志----新闻系统:SpringBoot+SpringCloud出现的问题
报错信息如下
- com.netflix.zuul.exception.ZuulException: Forwarding error
- org.springframework.web.client.HttpServerErrorException$InternalServerError:
500 null
错误总结:
-
关于App入口类
每个微服都应该有入口类,目前对于整体项目来说, 对应的每个模块需要有一个App渠口类
整体目录结构如上,一个简单的新闻模块,而eureka注册中心其实对应需要将每一个微服进行接收,并登记,@EnableEurekaServer注解表明他是一个EurekaServer
然后后续开发中,我只是做了查询微服的入口类,而做到更新的时候忘记给入口类,导致运行错误,此乃一个粗心错误。 -
关于网关
其实Zuul最大的作用就是为了解决不同源的跨域问题,同时也指访问微服的路线,所以每次当微服有更新的时候,别忘记重启一下Zuul,哪怕是WEB端或者模板页,也养成重启刷新的习惯。
- 关于日期转换器(本次报错的主要原因)
这个是关于新增新闻或者更新功能尤其重要,因为这两个都涉及日期,可能会导致WEB端不能顺畅的传递数据往后端。
问题排查的顺序:
1. 先解决后端的问题排查,例如微服的数据接收问题,注解跟RestTemplate中的GET\POST\PUT\DELETE跟后端的注解是否一致,最好的办法就是用类似PostMan这一类软件进行检测,
如果数据返回更新或者新增的结果,证明排除后端问题。
2. 留意对应前端后台是否对应页面的请求类型。
3. 查看是否缺少某些组件导致不能顺畅传递,解决方法可以在后台输出对应整体对象的信息
我这里的错误其实是因为前端有请求发送日期的更新和插入操作,结果缺少日期转换器
解决方案:
1.前端去除对应的提交时间输入框,直接在后台进行输入当前时间的操作:
2.添加日期转换器(不做赘述);
总结:
- 其实整体SpringBoot+SpringCloud的开发给我感觉是实实在在的前后端分离以及微服开发,虽然是一个小的Demo,但是却能将不同的功能封装到一个功能和识别度完整的模块中,所以一定要细心,无论是入口类,服务重启,路由配置以及前端页面的一些工具类配置,都需要很细心的去步步为营,要不然小Bug卡半天。