package cn.javadog.ec.interceptor;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.http.HttpStatus;
import cn.hutool.json.JSONUtil;
import cn.javadog.ec.api.ItemApi;
import com.jfinal.aop.Interceptor;
import com.jfinal.aop.Invocation;
import com.jfinal.kit.HttpKit;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.List;
/**
* @author: yuyong
* @date: 2018-10-18 下午10:57
* desc:
*/
public class ParamInterceptor implements Interceptor {
@Override
public void intercept(Invocation invocation) {
HttpServletRequest request = invocation.getController().getRequest();
if ("POST".equalsIgnoreCase(request.getMethod()) && invocation.getArgs().length == 1) {
String json = HttpKit.readData(request);
Object bean = JSONUtil.toBean(json, invocation.getArgs()[0].getClass());
BeanUtil.copyProperties(bean, invocation.getArgs()[0]);
}
invocation.invoke();
}
}
/**
* 参数赋值
*/
default void wrapper(Object o, HttpServletRequest request){
String json = HttpKit.readData(request);
Object bean = JSONUtil.toBean(json, o.getClass());
BeanUtil.copyProperties(bean, o);
}