import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.servlet.http.HttpServletRequest;
import java.lang.reflect.*;
/**
* @author lhw
*/
@Component
public class ApiFactory {
@Autowired
private HttpServletRequest request;
public <T> T getApi(Class<T> tClass) {
T t = null;
try {
Constructor con = tClass.getConstructor(String.class);
t = (T) con.newInstance(getToken());
return t;
} catch (InstantiationException | IllegalAccessException | NoSuchMethodException | InvocationTargetException e) {
e.printStackTrace();
}
return t;
}
/**
* 获取请求头的token
*
* @return
*/
public String getToken() {
return request.getHeader("Authorization");
}
}
通过反射给构造函数加上参数
最新推荐文章于 2023-07-31 17:46:14 发布