fix 添加request-id

master
陈景阳 4 years ago
parent b2cab05581
commit 9cbaf94285
  1. 8
      src/main/java/org/anyin/gitee/shiro/advisor/ApiMessageAdvisor.java
  2. 2
      src/main/java/org/anyin/gitee/shiro/utils/RequestIdUtils.java

@ -120,15 +120,15 @@ public class ApiMessageAdvisor {
* @return RequestId
*/
private String getRequestId(){
UUID existUUID = RequestIdUtils.getRequestId();
if(existUUID != null){
return existUUID.toString();
}
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
if(attributes == null || !StringUtils.hasText(attributes.getRequest().getHeader("x-request-id"))) {
RequestIdUtils.generateRequestId();
return RequestIdUtils.getRequestId().toString();
}
UUID existUUID = RequestIdUtils.getRequestId();
if(existUUID != null){
return existUUID.toString();
}
// 因为如果有网关,则一般会从网关传递过来,所以优先从header头获取
HttpServletRequest request = attributes.getRequest();
String requestId = request.getHeader("x-request-id");

@ -5,7 +5,7 @@ import java.util.UUID;
public class RequestIdUtils {
private static final ThreadLocal<UUID> requestIdHolder = new ThreadLocal<>();
public RequestIdUtils() {
private RequestIdUtils() {
}
public static void generateRequestId() {

Loading…
Cancel
Save