运行 Grails 域上的初始化函数 class
Run initializing function on Grails domain class
我有一个 AuthToken 域模型。它接受一个 token_string,这是一个 JWT 令牌。
class AuthToken {
String token_string
}
通过 new AuthToken(token_string: '...')
初始化 AuthToken 后,我想解析令牌,并适当地设置 class 的属性。例如过期应该根据token来设置。
如果令牌因任何原因无效,我想使 AuthToken 无效(即 token.validate()
应该是假的)。
如何使用 Grails / GORM 完成此操作?
我建议添加一个静态工厂方法来解析令牌 String
和 return 和 AuthToken
。由于您正在处理域 class,因此我会避免添加构造函数 AuthToken(String tokenString)
,因为这样默认的基于 Map
的构造函数将被删除。你可能不想要那个(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)
我有一个 AuthToken 域模型。它接受一个 token_string,这是一个 JWT 令牌。
class AuthToken {
String token_string
}
通过 new AuthToken(token_string: '...')
初始化 AuthToken 后,我想解析令牌,并适当地设置 class 的属性。例如过期应该根据token来设置。
如果令牌因任何原因无效,我想使 AuthToken 无效(即 token.validate()
应该是假的)。
如何使用 Grails / GORM 完成此操作?
我建议添加一个静态工厂方法来解析令牌 String
和 return 和 AuthToken
。由于您正在处理域 class,因此我会避免添加构造函数 AuthToken(String tokenString)
,因为这样默认的基于 Map
的构造函数将被删除。你可能不想要那个(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)