我在我的应用程序中使用 fusionauth java 客户端与 fusionauth 集成。当用户注册时,我想为他设置首选语言,以便向他发送所需语言的验证电子邮件。User 对象具有preferredLanguages
标记为的字段,final
并且无法在构造函数中进行设置。我怎样才能做到这一点 ?
问问题
66 次
1 回答
2
所有 FusionAuth 域对象都是开放的(即不是不可变的)。您可以将 Builder 模式与Buildable
FusionAuth 的 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 回答