不传参数,直接通过ServletRequestAttributes获取当前项目所在服务器的端口号和ip地址
public static String getUrl(){
ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
HttpServletRequest request = requestAttributes.getRequest();
String localAddr = request.getLocalAddr();
int serverPort = request.getServerPort();
return "http://"+localAddr +":"+ serverPort;
}
通过 HttpServletRequest 传参数获取当前项目所在服务器的端口号和ip地址
//获取本地服务器的ip地址和端口号
public static String getHttpUrl(HttpServletRequest request){
String localAddr = request.getLocalAddr();
int serverPort = request.getServerPort();
return "http://"+localAddr +":"+ serverPort;
}
Java获取当前系统的ip地址,端口号从配置文件读取
@Value("${server.port}")
private int serverPort;
public String getUrl() {
InetAddress address = null;
try {
address = InetAddress.getLocalHost();
} catch (UnknownHostException e) {
e.printStackTrace();
}
return "http://"+address.getHostAddress() +":"+this.serverPort;
}