1、java.net.SocketTimeoutException: connect timed out :
原因:使用FastDfs进行上传文件时报错,导致超时。
解决:打开虚拟机,后台自启动FastDfs相关容器。
2、java.lang.ArrayIndexOutOfBoundsException:下标索引越界异常
下标索引越界异常,DEBUG,或根据错误提示检查一下。
一般发生获取数组中不存在该下标数据的情况下。
例如:List<String> a = new ArrayList<>();
a长度为3,下标有0,1,2。但如果我们去获取下标3的数据,就有可能会触发这个错误。
3、Field fastDFSClient in com.usian.wemedia.controller.FileUploadController required a bean of type 'com.usian.common.fastdfs.FastDFSClient' that could not be found 工具类:FastDfsClient扫描不到
原因:一个模块使用到fastDfs上传文件时,启动项目失败报错,扫描不到fastDfs相关的工具类。
解决:在当前模块或项目下创建一个扫描fastDfs工具类的配置类,如下:
@ComponentScan("com.usian.common.fastdfs") @Configuration public class FastDfsConfiguration { }
使用@ComponentScan扫描fastDfs的工具类,@Configuration实现配置文件的功能。
4、Content type 'multipart/form-data;boundary=--------------------------985526871485229794186849;charset=UTF-8' not supported 使用PostMapping请求,同时接受实体类参数和文件的报错。
原因:使用Postman,form-data请求PostMapping接口传输实体类,file文件数据报错。
解决:检查该接口参数列表是否有添加@RequstBody注解?如果有的话,删掉即可。
5、JSON parse error: syntax error, expect {, actual error, pos 0, fastjson-version 1.2.58
原因:将字符串通过JSON转为实体类对象时发生的错误。
解决:我的原因是通过Feign远程调用其他服务的接口,获取数据时,返回的是一个数组,而不是一个对象,就导致JSON无法转换。
奖返回数据从数组换成对象即可,或者数组返回后,不要直接通过JSON转对象,可以尝试将数组使用Foreach循环输出,挨个转换为实体类。