package com.huberbuy.service.filter;
import com.huberbuy.service.dao.InternationalKeyMapper;
import com.huberbuy.service.enumDTO.LanguageEnum;
import com.huberbuy.service.utils.BaseResult;
import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
@Slf4j
@Aspect
@Component
public class LanguageAspect {
@Around("execution(public * com.service.controller.*.*(..))")
public Object judgeShowData(ProceedingJoinPoint point) {
BaseResult baseResult = new BaseResult();
try {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); //在AOP中获取request
// HttpServletResponse response = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getResponse(); //获取response
Object[] args = point.getArgs();
Object object = point.proceed(args); //获取返回值
if (object instanceof BaseResult) {
baseResult = (BaseResult) object;
return baseResult;
} else {
return object;
}
} catch (Throwable ex) {
baseResult = BaseResult.error(ex.getMessage());
return baseResult;
}
}
}
@Around拦截并修改返回值
最新推荐文章于 2024-05-20 17:55:36 发布