FusionAuth 使用 java 客户端设置首选语言

FusionAuth setting preferred languages using the java client

我在我的应用程序中使用 fusionauth java 客户端来与 fusionauth 集成。 当用户注册时,我想给他设置 preferredLanguages 以便用所需的语言向他发送一封验证邮件。 User 对象的字段 preferredLanguages 标记为 final 并且无法在构造函数中设置。我该怎么做?

所有 FusionAuth 域对象都是开放的(即不是不可变的)。您可以在 FusionAuth 的 Java 客户端中使用带有 Buildable 界面的构建器模式来轻松设置值。

部分代码可能如下所示:

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

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

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