【问题标题】:How to set a custom error message on springmvc @RequestParam date如何在 springmvc @RequestParam 日期上设置自定义错误消息
【发布时间】:2020-02-05 20:33:52
【问题描述】:

我在休息服务上有一个方法,定义如下:

    public ResponseEntity<?> methodName(@RequestParam("date") @DateTimeFormat(pattern = "yyyy-MM-dd") Date date,

)

当日期参数设置为无效日期(如 2020-3-999)时,服务的响应为:

{ “状态”:“错误”, “消息”:“格式错误的请求”}

我需要一种方法来自定义此返回消息的“消息”字段中显示的内容..

【问题讨论】:

    标签: spring-boot spring-mvc bean-validation


    【解决方案1】:

    您可以创建一个自定义错误处理类,该类应使用 @ControllerAdvice 注释并扩展 ResponseEntityExceptionHandler。

    在类中,您可以处理场景中发生的异常并使用自定义错误消息进行响应。

    请参阅https://www.baeldung.com/global-error-handler-in-a-spring-rest-api 了解实施详情。

    【讨论】:

    • 但如何使其特定于 @DateTimeFormat ?
    【解决方案2】:

    您可以将 RequestParam 输入字符串,然后将其转换为日期对象。 如果格式错误,您可以轻松返回自定义输出。

    【讨论】:

    • 谢谢。我希望有一个方便的注释来使它成为一个无代码解决方案,类似于:@Min(value=0, message = "Value must be greater than or equal to 0.")
    猜你喜欢
    • 2023-04-03
    • 1970-01-01
    • 2022-08-23
    • 2020-02-12
    • 1970-01-01
    • 1970-01-01
    • 2016-04-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多