feat(common): 忽略 JSON 中的未知字段

- 在 JacksonConfig 中配置 ObjectMapper,禁用 FAIL_ON_UNKNOWN_PROPERTIES 功能
- 在 Menu 类中添加 @JsonIgnoreProperties 注解,忽略未知属性
- 这些修改可以避免反序列化时出现 "Unrecognized field" 错误
This commit is contained in:
2025-09-03 18:37:40 +08:00
parent 61dab98a6d
commit 691467907c
2 changed files with 6 additions and 0 deletions

View File

@@ -1,5 +1,6 @@
package com.gxwebsoft.common.core.config;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
@@ -31,6 +32,9 @@ public class JacksonConfig {
// 禁用将日期时间戳写为纳秒
mapper.disable(SerializationFeature.WRITE_DATE_TIMESTAMPS_AS_NANOSECONDS);
// 忽略未知字段,避免反序列化时出现 "Unrecognized field" 错误
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
return mapper;
}
}

View File

@@ -1,6 +1,7 @@
package com.gxwebsoft.common.system.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -18,6 +19,7 @@ import java.util.List;
@Data
@ApiModel(description = "菜单")
@TableName("sys_menu")
@JsonIgnoreProperties(ignoreUnknown = true)
public class Menu implements GrantedAuthority {
private static final long serialVersionUID = 1L;
public static final int TYPE_MENU = 0; // 菜单类型