正文
org
.
springframework
.
stereotype
.
Component
;
import
org
.
springframework
.
web
.
method
.
HandlerMethod
;
import
org
.
springframework
.
web
.
servlet
.
handler
.
HandlerInterceptorAdapter
;
import
javax
.
servlet
.
http
.
HttpServletRequest
;
import
javax
.
servlet
.
http
.
HttpServletResponse
;
import
java
.
io
.
OutputStream
;
/**
* @author yhq
* @date 2018/9/10 16:05
*/
@Component
public
class
FangshuaInterceptor
extends
HandlerInterceptorAdapter
{
@Autowired
private
RedisService
redisService
;
@Override
public
boolean
preHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
)
throws
Exception
{
//判断请求是否属于方法的请求
if
(
handler
instanceof
HandlerMethod
){
HandlerMethod
hm
=
(
HandlerMethod
)
handler
;
//获取方法中的注解,看是否有该注解
AccessLimit
accessLimit
=
hm
.
getMethodAnnotation
(
AccessLimit
.
class
);
if
(
accessLimit
==
null
){
return
true
;
}
int
seconds
=
accessLimit