首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
GresonYee
掘友等级
undefined
|
undefined
{{ undefined }}
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
84
文章 82
沸点 2
赞
84
返回
|
搜索文章
最新
热门
在SpingBoot中使用Redis对接口进行限流
hash中的key就是请求的uri路径,value是一个对象。通过3个属性,描述限制策略 处理请求的时候,通过increment对该key进行 +1 操作,如果返回1,则表示是第一次请求,此时设置它的过期时间。为限制策略中定义时间限制信息。再通过命名的返回值,判断是否超出了限制…
在SpringBoot App中使用GoogleReCaptcha3过滤非法的请求
现在的应用中对于登录,注册,短信验证码。。。这些场景来说,验证码真的是必不可少。随着技术的发展,也使得验证码从当初的图形验证码,发展到今天的滑块,倒立文字点击,数学计算,手势滑动,拼图,刮图。。。等等各种花样,总之一个目的,阻止机器人的访问。 验证码这玩意儿,确实给用户带来了很…
在springboot中使用Guava基于令牌桶实现限流
限流说详细了,名堂也多。这种算法那种算法,这种策略那种策略的。没有绝对的银弹。都要结合实际的场景来实现。最简单的,使用Google的Guava,几行代码。就可以优雅的对一个接口完成限流。 通俗的理解就是,有一个固定大小的水桶,水龙头一直按照一定的频率往里面滴水。水满了,就不滴了…
springboot jwt redis实现token刷新
使用jwt的好处就是,服务器不需要维护,存储token的状态。服务器只需要验证Token是否合法就行。确实省了不少事儿。但是弊端也显而易见,就是服务器没法主动让一个Token失效,并且给Token指定了exp过期时间后,不能修改。 redis的配置,大家都熟。jwt.key是自…
使用spring-validation和@RequestParam(required = false)字符串默认值的校验问题
众所周知,使用@RequestParam(required = false) 封装请求参数的时候,如果客户端不提交参数,或者是只声明参数,并不赋值。那么方法的形参值,默认为null(基本数据类型除外)。 很简单的一个Controller方法。有两个参数,都不是必须的。只是这俩参…
使用@RequestBodyAdvice处理客户端的加密请求体
业务场景:客户端把json数据进行加密后,编码成Base64字符串,提交给服务器。服务器再进行解密。 使用 @RequestBodyAdvice,可以在不修改任何Controller代码的前提下,轻松完成。 这个接口定义了一系列的方法,它可以在请求体数据被HttpMessage…
玩儿转spring-data-jpa中jpql的投影查询
投影查询,就是仅仅检索表的部分字段。而不是粗暴的 SELECT * FROM...检索出所有列数据。例如检索用户余额信息的时候,就不需要检索用户的头像,创建日期等字段。节省了带宽传输和内存占用,也避免了可能暴露更多数据给客户端。 单行单列数据,比较简单了。返回的列数据类型是什么…
在SpringBoot中验证用户上传的图片资源
允许用户上传图片资源(头像,发帖)是APP常见的需求,特别需要把用户的资源IO到磁盘情况下,需要防止坏人提交一些非法的文件,例如木马,webshell,可执行程序等等。这类非法文件不仅会导致客户端图片资源显示失败,而且还会给服务器带来安全问题。 这种方式比较常见,也很简单,是目…
Nginx的跨域配置
使用SpringBoot开发前后端分离的应用,可以使用Nginx作为网关来统一解决跨域问题。这种好处是,可以不修改应用代码的情况下,让应用支持跨域。 浏览器新开一个页面就可以进行测试,主要能执行js。跨域嘛,只要是端口,url,协议。任意不同就可以了。 直接请求SpringBo…
spring-data-jpa中的查询方法
查询方法,就是根据方法名来检索数据。按照一定的规则,通过方法名描述要检索的字段,过滤的条件,排序的策略等等,它们大都以find, get... 等开头。spring-data-jpa会自动解析,并且完成检索。省时省力。
下一页
个人成就
文章被点赞
132
文章被阅读
117,842
掘力值
2,147
关注了
43
关注者
49
收藏集
0
关注标签
1
加入于
2020-06-11