1.前端开发的时候,通常会配置:
server: {
host: '0.0.0.0',
port: 3000,
proxy: {
'/api': {
target: 'http://127.0.0.1:8000',
changeOrigin: true,
},
},
},
开始的时候,我不太理解,为什么需要配置一个target代理,直接发送post(“http://127.0.0.1:8800”)不行吗?
一般情况是不行的,因为跨域了,首先端口就不一样,前端3000,接口8000
但是如果后端配置了Access-Control-Allow-Origin,放行跨域,前端直接请求确实可以解决报错问题。
项目中,有一个需求,场景是这样的,有很多类型的数据比如:客运站,火车站,高速站等,他们都分别存在不同的数据库表中,在使用excel往这些表中导入数据的时候,需要做去重验证(假设是根据name1和name2字段去重)
1.首先想到的是,在每个Controller层,查询对应的表进行对比,校验是否有重复
由于有八九张表,写着发现除了Entity和tableName不一样,查重逻辑几乎一模一样
2.怎样才能把逻辑部分提取出来复用呢,这样就不用重复劳动了。问题的关键是需要提取出Entity列表中的name1和name2,组合成新的数据集合,这样就把不同类型的数据整合成一类:StationCheckBo.class
这里可以可以使用反射进行获取:
```
protected <T, E> StationCheckResultBo checkRepeat(List datas, StationCheckMapper stationCheckMapper, Class clazz) {
List checkBos = IntStream.range(0, datas.size()).mapToObj(i ->
new StationCheckBo(i, (String) ReflectUtil.getFieldValue(datas.get(i), "fieldName"), (String) ReflectUtil.getFieldValue(datas.get(i), "fieldName")))
.toList();
函数式接口
最近看Hutool代码的时候,发现作者源码中使用了很多函数式接口
比如:
```
public static <T extends CharSequence, X extends Throwable> T notEmpty(T text, Supplier errorSupplier) throws X {
if (StrUtil.isEmpty(text)) {
throw errorSupplier.get();
}
return text;
}
我不敢把房间打扫得太干净,我怕房间只剩下我一个垃圾。
常用的小工具
图片压缩 https://www.ticompressor.com/online/
抠图 https://img.ly/showcases/cesdk/background-removal/web
矢量图1 https://www.iconfont.cn/
矢量图2 https://yesicon.app/
开源的画流程图工具 https://pddon.com/
文字识别 https://ocr.plantree.me/ocr
bt工具 https://anybt.eth.limo/#/
跨平台离线共享文件app https://localsend.org/#/
在线画板 https://pictode.com/
通过网卡MAC地址,可以查到厂商和网卡信息 https://maclookup.app/
下载工具 https://www.freedownloadmanager.org/zh/
AI图文生成 https://sdxlturbo.ai/
工具库在线检索 https://www.apigpts.dev/tools
gradle插件镜像1 https://mirrors.cloud.tencent.com/gradle/
gradle插件镜像2 https://services.gradle.org/distributions/
熊猫搜书 https://xmsoushu.com/#/