在Grails域类上运行初始化函数

时间:2015-10-27 20:32:56

标签: grails gorm jwt

我有一个AuthToken域模型。它接受一个token_string,它是一个JWT令牌。

class AuthToken {
  String token_string
}

通过new AuthToken(token_string: '...')初始化AuthToken后,我想解析令牌,并适当地设置类的属性。例如,应根据令牌设置到期时间。

如果令牌由于某种原因无效,我想使AuthToken无效(即token.validate()应为假)。

如何使用Grails / GORM实现此目的?

1 个答案:

答案 0 :(得分:1)

我建议添加静态工厂方法来解析令牌String并返回AuthToken。由于您正在处理域类,因此我避免添加构造函数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)