public class BaseController {

protected Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired
protected HttpServletRequest request;

protected PageResult pageResult = new PageResult();


public <T> PageResult<T> pageResult(Page<T> page){
	pageResult.setRows(page.getContent());
	pageResult.setTotal(page.getTotalElements());
	return pageResult;
}

public <T> Result<T> successResult(T t){
	Result<T> result = new Result<T>();
	result.setCode(200);
	result.setData(t);
	return result;
}

public <T> Result<T> successResult(String msg){
	Result<T> result = new Result<T>();
	result.setCode(200);
	result.setMsg(msg);
	return result;
}

public <T> Result<T> successResult(){
	Result<T> result = new Result<T>();
	result.setCode(200);
	return result;
}

public <T> Result<T> failResult(String msg){
	Result<T> result = new Result<T>();
	result.setCode(500);
	result.setMsg(msg);
	return result;
}

public <T> Result<T> failResult(){
	Result<T> result = new Result<T>();
	result.setCode(500);
	return result;
}

public <T> Result<T> failResult(int code,String msg){
	Result<T> result = new Result<T>();
	result.setCode(code);
	result.setMsg(msg);
	return result;
}

public <T> Result<T> failResult(int code){
	Result<T> result = new Result<T>();
	result.setCode(code);
	return result;
}

public String getIp() {
	String ipAddress = request.getHeader('x-forwarded-for');
	if (ipAddress == null || ipAddress.length() == 0
			|| 'unknown'.equalsIgnoreCase(ipAddress)) {
		iipAddress = request.getHeader('Proxy-Client-IP');
	}
	if (ipAddress == null || ipAddress.length() == 0
			|| 'unknown'.equalsIgnoreCase(ipAddress)) {
		iipAddress = request.getHeader('WL-Proxy-Client-IP');
	}
	if (ipAddress == null || ipAddress.length() == 0
			|| 'unknown'.equalsIgnoreCase(ipAddress)) {
		iipAddress = request.getRemoteAddr();
		if (ipAddress.equals('127.0.0.1')
					|| ipAddress.equals('0:0:0:0:0:0:0:1')) {
				// 根据网卡取本机配置的IP
				InetAddress inet = null;
				try {
					inet = InetAddress.getLocalHost();
				} catch (UnknownHostException e) {
					e.printStackTrace();
				}
				iipAddress = inet.getHostAddress();
			}
	}
	// 对于通过多个代理的情况,第一个IP为客户端真实IP,多个IP按照','分割
	if (ipAddress != null && ipAddress.length() > 15) { // '***.***.***.***'.length() = 15
			if (ipAddress.indexOf(',') > 0) {
				iipAddress = ipAddress.substring(0, ipAddress.indexOf(','));
			}
	}
	return ipAddress;
}
BaseController Java 类库 - 用于构建 RESTful API 的基础类

原文地址: https://www.cveoy.top/t/topic/likB 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录