package com.ruoyi.framework.config;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.stereotype.Component;
|
import com.ruoyi.common.utils.ServletUtils;
|
|
/**
|
* 服务相关配置
|
*
|
* @author ruoyi
|
*/
|
@Component
|
public class ServerConfig {
|
@Value("${server.port}")
|
private String port;
|
|
/**
|
* 获取完整的请求路径,包括:域名,端口,上下文访问路径
|
*
|
* @return 服务地址
|
*/
|
public String getUrl() {
|
HttpServletRequest request = ServletUtils.getRequest();
|
String domain = getDomain(request);
|
//修改一个端口
|
domain = replaceAfterSecondColon(domain, port);
|
return domain;
|
}
|
|
public static String getDomain(HttpServletRequest request) {
|
StringBuffer url = request.getRequestURL();
|
String contextPath = request.getServletContext().getContextPath();
|
return url.delete(url.length() - request.getRequestURI().length(), url.length()).append(contextPath).toString();
|
}
|
|
public static String replaceAfterSecondColon(String str, String replacement) {
|
int firstColonIndex = str.indexOf(":");
|
if (firstColonIndex != -1) {
|
int secondColonIndex = str.indexOf(":", firstColonIndex + 1);
|
if (secondColonIndex != -1 && secondColonIndex + 1 < str.length()) {
|
// 获取第二个“:”前的部分
|
String beforeSecondColon = str.substring(0, secondColonIndex + 1);
|
// 返回替换后的字符串
|
return beforeSecondColon + replacement;
|
}
|
}
|
return str;
|
}
|
}
|