不要使用Springboot和Jackson忽略无法识别的JSON字段

时间:2018-08-29 10:48:44

标签: java spring-boot

我有一个使用Springboot编写的rest Web服务。

@PostMapping("testMe2")
public String testMe2(@RequestBody TestInBean testInBean) {
    Log.info(this, "testMe : " + testInBean);
    return "SUCCESS";
}

这是我的TestInBean类

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.codehaus.jackson.annotate.JsonIgnoreProperties;

@Data
@Builder
@EqualsAndHashCode(callSuper = false)
@NoArgsConstructor
@AllArgsConstructor
@JsonIgnoreProperties
public class TestInBean extends GenericInBean {
    private String param1;
    private String param2;
    private Integer param3;
}

当我用输入呼叫http://localhost:8090/myApp/api/v1/testMe2

{"param1":"Hello","paramxx":10}

它通过记录静默忽略该错误 DeserializationProblemHandler:类TestInBean中不存在名为“ param22”的属性

当我传递未知参数时如何引发错误?

注意:

我可以在我的Spring Boot的Application.java类中添加以下代码,以在传递未知参数时显示错误。

@Bean
    public Jackson2ObjectMapperBuilder mapperBuilder() {
        return new Jackson2ObjectMapperBuilder().failOnUnknownProperties(true);
    }

但是我需要仅在特定方法上进行操作。

0 个答案:

没有答案