gpt4 book ai didi

Spring boot 句柄类型不匹配错误

转载 作者:行者123 更新时间:2023-12-04 12:39:17 25 4
gpt4 key购买 nike

我正在使用 Spring Boot 2.1.5,并且我有一个映射到从表单提交的数据的类。该类有一个整数字段:

class FormData {
private Integer id;
...
}

当我发送类型错误的有效负载时,例如:
{
id: "aaaa"
}

Spring 默默地返回 400 状态,没有抛出异常,也没有向控制台打印任何内容。我想在发生这种情况时以某种方式捕获它,以便我能够返回正确的自定义错误。我基本上将 bean 验证用于所有其他验证,但我找不到将其应用于类型不匹配的方法。

谢谢。

最佳答案

这个无效的参数类型转换会抛出 TypeMismatchException ,您可以使用带有 @ExceptionHandler 注释的方法处理。 ,例如,像这样:

@ExceptionHandler(TypeMismatchException.class)
@ResponseBody
public MyErrorResponse handleTypeMismatchException(TypeMismatchException typeMismatchException) {
// create my error response
}

你可以把这个方法放在一个 Controller 中(在这种情况下它只处理这个 Controller 抛出的异常),或者放在一个用 @ControllerAdvice 注释的类中。 (因此它将推广到您的所有 Controller )。

关于Spring boot 句柄类型不匹配错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57944251/

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