我不是在问“如何验证枚举”。
假设我有这样一个请求体:
public class VerifyAccountRequest {
@Email(message = "2")
private String email;
}
我想做的不是硬编码,而是从enum类返回消息的值。但这个想法是说“属性值必须是常数”
public enum MyEnum {
EMAIL("2", "info"),
public String messageCode;
public String info;
}
public class VerifyAccountRequest {
@Email(message = MyEnum.Email.code) // NOT_WORKING
private String email;
}
我也可以在界面中定义“2”,但我不想这样做:
public interface MyConstant {
String EMAIL = "2";
}
public class VerifyAccountRequest {
@Email(message = MyConstant.EMAIL) // WORKS, BUT I HAVE TO USE ENUM !!!
private String email;
}
是否可以使用枚举类返回消息值?
Java规则规定,当您有一个注释,并且它有一个期望原始类型(例如int)或String的参数时,该值必须是一个常量表达式。您试图在运行时设置一个值。但是,在JVM加载类之前,注释属性必须有一个精确的值,否则它会显示错误。
结构元素_值可以存储四种不同类型的值:
因此,注释属性中的常量是编译时常量。否则,编译器将不知道它应该将什么值放入常量池中并将其用作注释属性。有关更多信息,请阅读此。
我正在使用Spring验证来验证Rest Controller输入,如果有人能告诉我是否有可能在异常情况下抛出自定义消息,并且自定义消息应来自属性文件,我将不胜感激。 用户控制器.java 用户验证程序.java 消息.属性 自定义消息源配置.java 浏览器响应
我有个班叫MyConfig.java. 我的问题是,它是如何在没有任何验证或有效的情况下在Spring Boot应用程序的启动中得到验证的。我理解@Configuration类由启动时的Spring容器拾取(如果有的话,生成bean定义),javax.validator在类路径上。 下面的代码段很有意义,因为在POJO类上添加了@Valid注释: 来自 Spring Doc:- 链接此处以供参考
我正在使用GraphQL进行一个Spring启动项目。我使用的是Graphql-java工具和Graphql-sping-boot-starter。正如您在下面的java配置文件中看到的那样,我设法用Spring Security配置了安全性和会话管理。 现在“/graphql”路径是安全的(只能通过发送请求http头中的“基本http身份验证”或会话令牌()来访问它)。在任何GraphQL操作上
问题内容: 我在这里尝试了答案中的步骤:HibernateValidator,自定义ResourceBundleLocator和Spring 但是仍然只是作为输出而不是消息。 dispatcher-servlet.xml /WEB-INF/validationMessages.properties: 表格(上课地点) 这是怎么了 问题答案: 得到它了!:-) 我在我的计算机中添加了以下bean而不
好吧,乖点。 这里有一个枚举,它实现了一个接口,该接口返回一个“原始类型”,它给我一个关于接口中的方法的警告。 如果我将接口的方法更改为: 它会在的方法签名上变为未经检查的警告。如果我改变的签名: 然后返回有一个不兼容的类型错误,因为
我正在用这样的方法 我想在异常发生时返回一些文本消息,但是现在我只返回状态和空对象。有可能做吗?