gpt4 book ai didi

java - jackson 默认错误地忽略了未知字段

转载 作者:行者123 更新时间:2023-11-30 06:25:01 35 4
gpt4 key购买 nike

我有一个非常简单的 REST API 项目,使用 Spring Boot 1.5.7 和 Jackson 2.8。

问题

如果请求中存在未知字段,我希望 Jackson 投诉并提出异常。虽然我没有设置任何东西告诉它忽略它们,但它只是忽略它,我不知道为什么。

请求:

{
"appId":1,
"version":"1.0",
"status":true,
"locked":false,
"field": "it is ignored, but it must not be"
}

请求方法

@PutMapping
public ResponseEntity<?> updateAppToggle(@RequestBody AppToggleUpdateRequest request) {
AppToggle updatedAppToggle = service.update(request);
return new ResponseEntity<AppToggleResponse>
(AppToggleResponse.fillResponse(updatedAppToggle), HttpStatus.OK);
}

请求类

@Data
public class AppToggleUpdateRequest {

@NotNull
@Getter
private Long appId;

@NotNull
@Getter
private String version;

private Boolean status;

private Boolean locked;
}

我的 application.properties 不包含任何特殊内容,只是数据源和 H2 内存数据库的一些内容。

我真的不知道发生了什么事。任何帮助将不胜感激。

最佳答案

我修复了我的应用程序,将以下内容添加到 application.properties 文件中:

spring.jackson.deserialization.FAIL_ON_UNKNOWN_PROPERTIES=true

关于java - jackson 默认错误地忽略了未知字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47355601/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com