【发布时间】:2022-09-28 22:47:36
【问题描述】:
当为我的应用程序的请求提供不正确的字段格式时,如果类型抛出错误,那么 micronaut 返回的错误消息是模糊的。
E.G 两种情况
public class fakeClass {
@NotNull
private String fakeName;
}
如果我的要求是{\"fakeName\": \"\"}
那么正确的响应将类似于
{
\"violations\": [
{
\"field\": \"create.fakeClass.fakeName\",
\"message\": \"must not be blank\"
}
],
\"type\": \"https://zalando.github.io/problem/constraint-violation\",
\"title\": \"Constraint Violation\",
\"status\": 400 }
但是可以说我的班级看起来像这样:
public class fakeClass {
@Format(\"yyyy-MM-dd\")
private LocalDate exampeDate;
}
{\"exampleDate\": 202222--01-01} 或 {\"exampleDate\": 2022/01/01} 的日期无效或格式不正确
然后错误信息是
{
\"type\": \"about:blank\",
\"parameters\": {
\"path\": \"/project\"
},
\"status\": 400,
\"detail\": \"Required argument [fakeClass fakeClass] not specified\"
}
是否有一种简单的方法可以为错误消息提供更多信息,以明确为什么请求因@NotNull 或@NotBlank 等无效格式或类型而失败?