Bean 验证 + JAX-RS 未读取自定义 ValidationMessages.properties
Bean Validation + JAX-RS not reading custom ValidationMessages.properties
我正在尝试将自定义消息与 Bean 验证结合使用,但 JAX-RS 资源未返回我的自定义消息。我做错了什么?
ValidationMessages.properties
invoice.value.notnull=Invoice value must be informed.
文件位于src/main/resources
InvoiceResource.java
@Path("/invoice")
public class InvoiceResource {
@POST
public void post(@Valid InvoiceRequest request) {
/* stuff */
}
}
InvoiceRequest.java
public class InvoiceRequest {
@NotNull(message = "invoice.value.notnull")
private Double value;
}
发现问题出在我在 bean 参数中声明消息。消息 ID 必须在大括号 "{ ... }"
:
之间分叉
@NotNull(message = "{invoice.value.notnull}")
我们如何获得包含正确消息的正确 JSON 响应:
{
"exception": null,
"fieldViolations": [],
"propertyViolations": [],
"classViolations": [],
"parameterViolations": [
{
"constraintType": "PARAMETER",
"path": "post.arg0.value",
"message": "Invoice value must be informed",
"value": ""
}
],
"returnValueViolations": []
}
我正在尝试将自定义消息与 Bean 验证结合使用,但 JAX-RS 资源未返回我的自定义消息。我做错了什么?
ValidationMessages.properties
invoice.value.notnull=Invoice value must be informed.
文件位于src/main/resources
InvoiceResource.java
@Path("/invoice")
public class InvoiceResource {
@POST
public void post(@Valid InvoiceRequest request) {
/* stuff */
}
}
InvoiceRequest.java
public class InvoiceRequest {
@NotNull(message = "invoice.value.notnull")
private Double value;
}
发现问题出在我在 bean 参数中声明消息。消息 ID 必须在大括号 "{ ... }"
:
@NotNull(message = "{invoice.value.notnull}")
我们如何获得包含正确消息的正确 JSON 响应:
{
"exception": null,
"fieldViolations": [],
"propertyViolations": [],
"classViolations": [],
"parameterViolations": [
{
"constraintType": "PARAMETER",
"path": "post.arg0.value",
"message": "Invoice value must be informed",
"value": ""
}
],
"returnValueViolations": []
}