我有一个使用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);
}
但是我需要仅在特定方法上进行操作。