1

我在我的应用程序中使用 fusionauth java 客户端与 fusionauth 集成。当用户注册时,我想为他设置首选语言,以便向他发送所需语言的验证电子邮件。User 对象具有preferredLanguages标记为的字段,final并且无法在构造函数中进行设置。我怎样才能做到这一点 ?

4

1 回答 1

2

所有 FusionAuth 域对象都是开放的(即不是不可变的)。您可以将 Builder 模式与BuildableFusionAuth 的 Java 客户端中的接口一起使用来轻松设置值。

以下是一些代码的外观:

User u = new User().with(u -> u.preferredLanguages.add(Locale.English))
                   .with(u -> u.firstName = "Bob")
                   ...

由于preferredLanguages是 a List<Locale>,您还可以使用addAll和任何其他List方法。

虽然此方法不能确保User在构造函数返回后立即完全填充对象,但 Java 将确保User u我示例中的变量已完全填充,因为with方法都需要在左侧赋值之前返回。

于 2020-03-04T22:26:11.443 回答