Netty 解析 JSON 格式报文数据

解决Netty 框架自带了 JsonObjectDecoderJSON 对象解码器,它属于在四种常见的解码器之外的解码器。除此之外,还有 base64 解码器、xml 解码器等。可以在 netty-codec 包下找到所有 netty 支持的解码器。pipeline.addLast(new JsonObjectDecoder(4096)) .addLast(new StringDecode

Jackson 序列化大写的属性返回结果变成小写

序列化:将对象属性转化为格式化的字符串反序列化:将字符串转化为 bean 对象之前遇到过 Jackson 反序列化解析数据报错 UnrecognizedPropertyException: Unrecognized field "ACC",那是属于反序列化的时候,大写的属性名解析出现问题。因为 lombok 默认生成的 getter、setter 会根据驼峰命名规则解析出属性名,首字母大写会默认被

Spring boot 项目调试报错:'/data' could not be created

前言项目需要添加一项新的渠道服务商,活安排给我了。没有接触过核心的业务,所以对于需要修改的地方不太懂。跟之前的同事确认了一下,明白自己需要完成的部分代码的位置。之后 copy 之前的一个渠道服务商的写法,把主要的一些需要自定义的 bean 定义好替换上去。之后再根据接口文档要求,对请求主体加密,以及修改一些响应的处理。主要的脉络流程跟之前的渠道服务商是一致的。完成之后,想要本地调试一下请求接口,结

Java 整型与字符串数据类型转化问题

Java 调试遇到过一些报错的问题,比如:For input string: "",即 set 返回整型,但带入参数为空字符串。比如 Data too long "null",即一个 char(1) 的字段插入了 "null" 字符串,因为长度溢出导致失败。这两个都是字段数据类型没有设置正确导致的。一开始遇到报错 For input st

Spring Secuirty 使用手机号、短信验证码登录(身份认证)

前言对于登录方式,PC 端后台一般会选择账号密码登录,如果是 ToC 的服务,也会支持手机号+短信验证码的登录方式,甚至如果有 APP,还可以支持扫码登录。当然还有腾讯系、阿里系的应用喜欢的三方授权登录。移动端(国内)通常的应用都会优先选择手机号+短信验证码的方式,即使这样商家会有额外的短信成本负担。比如现在的微信手机号快速认证(所谓“一键登录”)组件已经开始堂而皇之的收费了,跟短信收费也差不太多

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

最近整理文档,发现之前共享充电宝项目物联网服务记录了接入某厂家设备遇到的问题,里面提到了「重放攻击」。对接过程中发生了很多事,有些事已经分析解决了,有些问题依然还存在。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