[英]Run initializing function on Grails domain class
I have an AuthToken domain model. 我有一个AuthToken域模型。 It accepts an token_string which is a JWT token.
它接受一个token_string,它是一个JWT令牌。
class AuthToken {
String token_string
}
After initializing the AuthToken via new AuthToken(token_string: '...')
, I would like to parse the token, and set properties on the class appropriately. 通过
new AuthToken(token_string: '...')
初始化AuthToken之后,我想解析令牌,并在类上适当地设置属性。 For example expiration should be set based on the token. 例如,应基于令牌设置到期时间。
If the token is invalid for whatever reason, I'd like to invalidate the AuthToken (ie token.validate()
should be false). 如果令牌由于某种原因而无效,我想使AuthToken无效(即
token.validate()
应该为false)。
How can I accomplish this with Grails / GORM? 如何使用Grails / GORM完成此操作?
I recommend adding a static factory method to parse the token String
and return a AuthToken
. 我建议添加一个静态工厂方法来解析令牌
String
并返回AuthToken
。 Since you're dealing with a domain class, I'd avoid adding the constructor AuthToken(String tokenString)
because then the default Map
-based constructor will be deleted. 由于您正在处理域类,因此我避免添加构造函数
AuthToken(String tokenString)
因为这样默认的基于Map
的构造函数将被删除。 You probably do not want that (and neither does GORM). 您可能不希望这样做(GORM也不希望)。
class AuthToken {
String token_string
String someProperty
static AuthToken parse(String token_string) {
new AuthToken(token_string: token_string).with {
someProperty = token_string.reverse() // an example
return delegate
}
}
}
def token = AuthToken.parse(aTokenString)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.