diff --git a/src/main/java/com/company/agentfoundation/controller/GlobalExceptionHandler.java b/src/main/java/com/company/agentfoundation/controller/GlobalExceptionHandler.java index 148b1be..d3b09b4 100644 --- a/src/main/java/com/company/agentfoundation/controller/GlobalExceptionHandler.java +++ b/src/main/java/com/company/agentfoundation/controller/GlobalExceptionHandler.java @@ -1,6 +1,8 @@ package com.company.agentfoundation.controller; import com.company.agentfoundation.security.UnauthorizedException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.ExceptionHandler; @@ -12,18 +14,23 @@ import java.util.Map; @RestControllerAdvice public class GlobalExceptionHandler { + private static final Logger log = LoggerFactory.getLogger(GlobalExceptionHandler.class); + @ExceptionHandler(UnauthorizedException.class) public ResponseEntity> unauthorized(UnauthorizedException ex) { + log.warn("request unauthorized: {}", ex.getMessage()); return build(HttpStatus.UNAUTHORIZED, ex.getMessage()); } @ExceptionHandler(IllegalArgumentException.class) public ResponseEntity> badRequest(IllegalArgumentException ex) { + log.warn("request bad: {}", ex.getMessage(), ex); return build(HttpStatus.BAD_REQUEST, ex.getMessage()); } @ExceptionHandler(Exception.class) public ResponseEntity> generic(Exception ex) { + log.error("request failed", ex); return build(HttpStatus.INTERNAL_SERVER_ERROR, ex.getMessage()); } diff --git a/src/main/java/com/company/agentfoundation/integration/wecom/WecomIncomingMessage.java b/src/main/java/com/company/agentfoundation/integration/wecom/WecomIncomingMessage.java index c02513b..baa4fbf 100644 --- a/src/main/java/com/company/agentfoundation/integration/wecom/WecomIncomingMessage.java +++ b/src/main/java/com/company/agentfoundation/integration/wecom/WecomIncomingMessage.java @@ -1,8 +1,10 @@ package com.company.agentfoundation.integration.wecom; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement; +@JsonIgnoreProperties(ignoreUnknown = true) @JacksonXmlRootElement(localName = "xml") public class WecomIncomingMessage { @JacksonXmlProperty(localName = "ToUserName")