diff --git a/backend/src/main/java/com/qqchen/deploy/backend/framework/ssh/websocket/SSHWebSocketMessage.java b/backend/src/main/java/com/qqchen/deploy/backend/framework/ssh/websocket/SSHWebSocketMessage.java index 1a379da3..35f69cee 100644 --- a/backend/src/main/java/com/qqchen/deploy/backend/framework/ssh/websocket/SSHWebSocketMessage.java +++ b/backend/src/main/java/com/qqchen/deploy/backend/framework/ssh/websocket/SSHWebSocketMessage.java @@ -127,7 +127,18 @@ public class SSHWebSocketMessage { } // 否则使用ObjectMapper转换(Map -> POJO) ObjectMapper mapper = new ObjectMapper(); - return mapper.convertValue(requestObj, requestClass); + T result = mapper.convertValue(requestObj, requestClass); + + // 自动填充type字段(如果request中没有type,使用外层的type) + if (result instanceof com.qqchen.deploy.backend.framework.ssh.websocket.request.SSHBaseRequest) { + com.qqchen.deploy.backend.framework.ssh.websocket.request.SSHBaseRequest baseRequest = + (com.qqchen.deploy.backend.framework.ssh.websocket.request.SSHBaseRequest) result; + if (baseRequest.getType() == null && this.type != null) { + baseRequest.setType(this.type); + } + } + + return result; } } } catch (Exception e) {