2022谷粒学院BUG记录
前言(一点废话)
都2022年了,不会还有人在学谷粒学院吧(doge),最近做毕设,学完了ssm,决定用谷粒学院做项目参考,发现现在计算机行业各种贩卖焦虑,什么Java烂大街了,学Java找不到工作,Java太卷之类的,也不知道学完这个是否真的都找不到一份Java工作,果然躺平才是唯一出路吗,哈哈,开个玩笑;总之,2022年还在学谷粒学院的人就是本人了,因为使用的是新版的springboot,而该项目是2020年的了,肉眼可见的会遇到很多问题,我会在这篇帖子里详细总结一下我遇到的问题,给出解决思路和方法
day02-08 Swagger2版本与新版SpringBoot不匹配
我使用的是springboot2.6.5,而Maven仓库中Swagger目前只更新到了2020版,我推荐直接使用Postman来进行测试,也可参照下面这篇文章来更改配置:
WebMvcPatternsRequestConditionWrapper.getPatterns NullPointerException 启动失败.
主要原因是Spring2.6之后path解析策略改变了,与Swagger解析策略不符合
,虽然更改properties的配置可以设置Spring的解析策略,但是会降低原Spring的解析效率,所以我选择废弃Swagger的使用,Postman更方便一些,下载Postman,输入删除的URL,成功运行显示删除数据成功。
day05-03 使用vue3,配置后端端口转发的跨域问题
因为使用的是vue3,没找到原视频中config文件夹下的index.js文件,在端口号配置这找了好一会,这里一共出现了两个错误:
1、请求到后端的端口地址不正确,点击login时,network下的请求的端口号一直是9528,这就意味着配置的端口文件不对
2、在更改了上面问题后,浏览器报错如下,
Access to XMLHttpRequest at 'http://localhost:8001/comservice/user/login' from origin 'http://localhost:9528' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
感觉大致意思是不允许进行跨域转发,需要更改请求头的信息
1、config的index.js的对应配置文件是.denv.development,可能改成了对应的开发环境下的路径了吧,将
VUE_APP_BASE_API = '/dev-api'
改为
VUE_APP_BASE_API = 'http://localhost:8001/'
此时浏览器请求的地址正确
2、可以看到端口变成了8001,但浏览器又报错如下
仔细检查代码发现,我的Controller类上少添加了@CrossOrigin注解,添加该注解后解决问题,在我查阅资料的时候发现,很多文章都是在vue.config.js(vue2中是config/index.js)文件中修改devServer中proxy等配置来实现代理配置,但是从步骤一就可以看出,当更改VUE_APP_BASE_API,Vue3它自动实现了代理请求的转发功能,说明不再需要这样配置了,下面的配置是原来改的,后来发现注释掉也不影响原来的请求方式。
devServer: {port: port,open: true,overlay: {warnings: false,errors: false},/* proxy: {'/api': {target: 'http://localhost:8001', // 接口的域名// secure: false, // 如果是https接口,需要配置这个参数changeOrigin: true, // 如果接口跨域,需要进行这个参数配置pathRewrite: {'^/api': ''} }}, */before: require('./mock/mock-server.js')},
点击login,页面成功跳转
day05-10 点击查询按钮,不输出查询结果
差一点因为这个问题自闭了,这是个比较低级但是很难排查出的错误,因为无论前端还是后端都没有明显的报错,但是前端传递的JSON数据就是封装不到后端的@RequestBody注解对应的对象中
测试了好久,一直以为是前端的错误,这里也建议大家找这样隐性的Bug的时候,使用postman或者swagger测试一下到底是前端还是后端的错误,这样排错也方便一些;
我的问题是,@RequestBody注解引用的是Swagger2的类中的,可能当时一时疏忽,前端传递的JSON数据应该是由Sping来进行封装的,将引用的注解包改为Sping对应的包即可。
这里列出几个可能出现的错误点(都是泪,全都排查过一遍):
(1)数据库的配置格式可能没有设置中文,查询时可能出现乱码,数据库中url按如下配置:
spring.datasource.url=jdbc:mysql://localhost:3306/epac_system?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=UTF-8
启动Unicode编码,并设置格式为utf-8
(2)@Request注解要求,从前端传递过来的字段名称要和自己设置的字段名称一致,数据类型也要求一致,且请求方式一般是Post,比如说我在后端实体类中声明了一个User类如下:
@Data
calss User {private String username;private String password;
}
调用controller如下
@PostMapping("/getUser")
public R getUser(@RequesrBody User user){//代码逻辑return R.success().data();
}
从前端传递的JSON数据如下:
{"username":"admin","password":"123"
}
这样Spring才能将JSON的数据封装成功
day10-07 Nacos注册项目不成功
我出现的问题是在IEDA的项目中引入Nacos依赖,配置完Nacos注册的注解后,启动项目,项目启动后立刻关闭,但是控制台没有任何异常输出,仔细排查了一下,觉得可能是SpringBoot和SpringCloud版本不匹配
更改为正确的依赖版本后,启动就会有Spring控制台的正常输出logo,控制台会提示注册成功语句:
nacos registry, service_community 192.168.43.114:8001 register finished
问题比较简单,这里列出来,是因为希望各位在配置SpringBoot和SpringCloud版本时需要更细心一些,去仔细查看对应版本;
我用的是SpringBoot2.6.5,对应的SpringCloud版本为2021.0.1,以下是具体的配置:
SpringBoot
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.6.5</version><relativePath/> <!-- lookup parent from repository --></parent>
SpringCloud
<!--Spring Cloud--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>2021.0.1</version><type>pom</type><scope>import</scope></dependency>
一点后记
项目差不多做完了,自己按照自己的题目重做了后面的模块,SpringSecurity和后面一部分视频都刷完了,虽说收获了很多,但是写在简历上确实算不上一个拿得出手的项目。写下这些话的时候,我已经答辩完准备离校了。 最近断断续续的投了些简历,说实话,除了校招的几个公司和培训机构,愿意给面试机会的公司几乎没有;有些迷茫,不知道当初决定走Java这条路是不是做错了。
2022谷粒学院BUG记录相关推荐
- 谷粒学院day9关于章节小节修改后无法添加的bug记录
关于之前困扰的一个问题,谷粒学院day09那的一个bug 问题描述: 章节小节添加都可以正常添加 修改的时候也可以正常修改,问题就出在修改完后无法在添加了,还是会显示修改 解决办法*:由于当时初学的时 ...
- 2022年最新《谷粒学院开发教程》:9 - 前台课程模块
资料 资料地址 后台管理系统目录 前台展示系统目录 1 - 构建工程篇 7 - 渲染前台篇 2 - 前后交互篇 8 - 前台登录篇 3 - 文件上传篇 9 - 前台课程篇 4 - 课程管理篇 10 - ...
- 尚硅谷谷粒学院学习笔记(防坑点的总结部分勘误)
谷粒学院学习笔记 部分勘误 数据库设计规约 模块说明 环境搭建 创建一个Spring Boot 的父工程,版本使用:2.2.1.RELEASE 父工程pom.xml里面添加 在pom.xml中添加依赖 ...
- 谷粒学院(五)---Maven从入门到入魔
前言 我们在日常的javaee项目开发中,对于大量模块的开发管理和jar包的管理,我们难免会设计到maven进行项目的管理,这里我总结Maven中比较重要的一些知识点,这也是我在最近学习的项目谷粒学院 ...
- 谷粒学院16万字笔记+1600张配图(十六)——讲师显示、课程显示
项目源码与所需资料 链接:https://pan.baidu.com/s/1azwRyyFwXz5elhQL0BhkCA?pwd=8z59 提取码:8z59 文章目录 demo16-讲师显示.课程显示 ...
- 谷粒学院day08——课程章节与小节的实现
谷粒学院day08--课程章节与小节的实现 1.添加课程基本信息完善 1.1 整合文本编辑器 2.课程大纲管理 2.1 后端实现 2.2 前端实现 3.修改课程功能 3.1 后端实现 3.2 前端实现 ...
- 谷粒学院订单管理 server-order 模块
谷粒学院订单管理 server-order 模块 模块介绍 主要实现前台页面购买课程后,生成订单,并实现微信支付的功能. ![]](https://img-blog.csdnimg.cn/7b821f ...
- 谷粒学院前台登录流程
谷粒学院前台登录流程 登录验证部分 第一步 前台输入账号密码 第二步 后端验证 首先判断手机号是否存在 其次判断密码是否正确 再判断账号是否被禁用 验证通过后,利用 JwtUtils 工具生成 Jwt ...
- Day213.讲师详细页、课程列表页面、课程详细页、阿里云视频播放测试、阿里云云视频播放器 -谷粒学院
谷粒学院 讲师详细页 一.后端部分 1.TeacherFrontController @RestController @CrossOrigin @RequestMapping("/eduse ...
- Day212.OAuth2、微信二维码登入注册功能、用户登录信息前后端供、讲师列表前后端 -谷粒学院
谷粒学院 OAuth2的使用场景 一.OAuth2解决什么问题 1.OAuth2提出的背景 照片拥有者想要在云冲印服务上打印照片,云冲印服务需要访问云存储服务上的资源 2.图例 资源拥有者:照片拥有者 ...
最新文章
- 2018/8/30-31 A social learning particle swarm optimization for scalable optimization.
- C++知识点33——使用C++标准库(无序关联容器unordered_(multi)map,unordered_(multi)set)
- php 7月世界排名2017,TIOBE2017榜单公布,PHP还会是世界上最好的语言吗?
- MCtalk对话兰迪少儿英语:1v1不具普适性,小班课才是下个风口
- 大数据下的BI新特性
- 《NIOSII那些事儿》rev7.0 PDF版本发布
- maven构建scala工程并最终运行的所有细节(scala maven helloworld)
- USACO2.4のP1522-牛的旅行(Cow Tours)【最短路Flody】
- http协议与服务器通信,iPhone应用用HTTP协议和服务器通信
- 大学计算机专业绩点3.7什么水平,大学绩点3.0什么水平 大学里的绩点有什么用...
- 第 19 章 保护方法调用
- 解决 SQL 注入的另类方法
- mysql添加值_怎么给mysql添加值?
- Linux怎么删掉ftp服务器,Linux怎么删掉ftp服务器
- 数据包络分析-BCC模型
- Matlab绘图设置任意位置的图例,多个图例设置
- 龙珠游戏-博弈之斐波那契数列
- matlab示波器坐标调整,SIMULINK示波器参数设置
- Gartner 2016数据仓库和数据分析数据库管理解决方案魔力象限
- MapGuide应用程序示例——你好,MapGuide!