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": []
}