时间拦截器

基于Spring MVC模块提供的HandlerInterceptor接口规范定义拦截器,对特定请求进行拦截,例如检测请求访问时间,关键代码如下

package com.jt.web.interceptor;
public class TimeAccessInterceptor  implements HandlerInterceptor {
	/**
	 * preHandle在控制层目标方法执行之前执行
	 */
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response,Object handler) throws Exception {
       //testRequestInfo(request,handler);
       LocalTime now=LocalTime.now();//JDK8中的时间对象
       int hour=now.getHour();//获取当前时间对应小时
       //System.out.println("hour="+hour);
       log.info("hour {}",hour);
       if(hour<=6||hour>=22)
           throw new RuntimeException("请在6~10点进行访问");
        return true;
   }
}

定义配置类,实现对拦截器的注册,关键代码如下。

package com.jt.web.config;
@Configuration
public class SpringWebConfig implements WebMvcConfigurer{//web.xml

	 //配置spring mvc 拦截器
	 @Override
	 public void addInterceptors(InterceptorRegistry registry) {
		 registry.addInterceptor(new TimeAccessInterceptor())
		         .addPathPatterns("/param/*");//写访问的路径
	 }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue拦截器可以用来拦截请求和响应,对其进行统一处理或者添加一些额外的逻辑。在Vue中,可以通过使用Axios拦截器来实现。Axios是一个流行的HTTP客户端,可以在浏览器和Node.js中使用。Axios拦截器有两种类型:请求拦截器和响应拦截器。 请求拦截器可以用来在发送请求前进行一些处理,比如添加请求头、设置请求超时时间、添加loading等。响应拦截器可以用来在接收到响应后进行一些处理,比如统一处理错误、处理返回数据等。 以下是一个使用Axios拦截器的示例: ``` import axios from 'axios' // 创建axios实例 const service = axios.create({ baseURL: process.env.VUE_APP_BASE_API, // api的base_url timeout: 5000 // 请求超时时间 }) // request拦截器 service.interceptors.request.use( config => { // 在发送请求之前做些什么 config.headers['Authorization'] = 'Bearer ' + getToken() return config }, error => { // 处理请求错误 console.log(error) // for debug Promise.reject(error) } ) // response拦截器 service.interceptors.response.use( response => { // 对响应数据进行处理 const res = response.data if (res.code !== 20000) { // 处理错误 return Promise.reject('error') } else { return res } }, error => { // 处理响应错误 console.log('err' + error) // for debug return Promise.reject(error) } ) export default service ``` 在上面的代码中,我们创建了一个Axios实例,并使用拦截器对请求和响应进行了处理。在请求拦截器中,我们添加了Authorization请求头,并设置了请求超时时间。在响应拦截器中,我们对响应数据进行了处理,如果返回的code不为20000,则表示请求失败,否则返回res。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值