物联网服务遇到「重放攻击」的应对措施

最近整理文档,发现之前共享充电宝项目物联网服务记录了接入某厂家设备遇到的问题,里面提到了「重放攻击」。对接过程中发生了很多事,有些事已经分析解决了,有些问题依然还存在。xx 需要 http 80 端口通讯(5 个 http 借口),而业务端下发指令的请求也是到网关服务,使用的也是 80 端口。之前 xx 就出现过网关的 80 端口受到 重放攻击(Replay Attacks),这攻击主要是捕捉历史

若依前后端分离版分页数据 knife4j 文档响应参数查看不到类型说明

前沿自从接入了 Knife4(swagger 增强版) 后,前端同事对于接口的要求就提高了。要求参数是否必要的属性,要标注准确。这个好解决,多定义几个 DTO、VO 之类的,一个请求响应定义一个 VO 和 DTO 肯定能解决。后面发现有的接口返回数据(data)没有参数类型说明,主要集中在使用 AjaxResult 的静态方法返回数据时出现。后来发现,使用 R 的静态方法返回数据就可以正常显示。对

若依前后端分离版集成mybatisplus实现mybatis增强

前言若依前后端分离版默认携带的是 pagehelper-spring-boot-starter 分页插件,分页插件依赖里包含了 Mybatis。若依对分页部分做了一个封装,可以在内部获取请求中携带的页码和每页记录数,再调用 PageHelper.startPage(pageNum, pageSize, orderBy).setReasonable(reasonable);。本来没打算搞mybati

Spring 打包时报错:Cannot find 'scope' in class org.apache.maven.plugin.compiler.DependencyCoordinate

真的是不改没毛病,一改问题一大堆。在修改了默认生成的实体,添加 @Data、@@EqualsAndHashCode(callSuper = true) 等 lombok 注解,并删除原来的 xxGetter、xxSetter 和 toString 等方法,并添加 swagger 实体和属性注解。之后尝试 clean 再 package 打包,然后就报了这个错:Cannot find 'scope'

Spring Cloud OpenFeign 初体验以及返回结果为 null 排查过程

前言OpenFeign 也是属于那种看上去就比较神奇的组件,Spring Cloud 前缀说明与微服务相关。它在声明了另一个服务里的请求地址和方法之后,就可以直接注入到控制器中,像 service 一样方便的调用。之前接触过 RestTemplete、HttpClient,还有若依框架里面,直接用 URLConnection 手搓一个客户端。感觉上都大同小异,可论代码整洁度,那还是 OpenFei

MapStruct 1.5.5.Final 初使用

前言之前对于 MapStruct 没什么印象,MapStruct 一般会跟着 Mybatis 一起引入到项目中,猜测是一个跟 Mybatis 搭配使用的组件。这次遇到比较一个棘手的情况,领导要把几家 GPS 供应商的 API 统一到一个项目中进行管理,包括车辆、设备(GPS)以及设备产生的历史轨迹和报警信息(设置电子围栏后会产生报警信息)。后面有可能的话,还要把设备本身集成到项目中统一管理。这有点

若依 HttpUtils.sendPost 提交 JSON 格式数据

若依中提交 POST 类型的方法为 HttpUtils.sendPost(String url, String param),可以同时处理 http 和 https 请求。处理 JSON 格式数据只需要修改原请求的 contentType 类型值即可。原来的请求参数:URL realUrl = new URL(url); URLConnection conn = realUrl.openConne

Java 启动运行报错 Illegal pattern character 'i'

PHP 中的标准化日期格式为 Y-m-d H:i:s,而 Java 中标准日期格式应为 yyyy-MM-dd HH:mm:ss。疏忽大意,将日期格式 JsonFormat("yyyy-MM-dd HH:ii:ss"),修改之后问题解决。