【发布时间】:2019-09-04 12:20:20
【问题描述】:
我正在编写一小段逻辑来检查 Facebook API 是否为我检索用户电子邮件,如果没有,我正在设置来自请求参数的电子邮件,或者如果它也不存在,我正在抛出一个例外。 我的问题是,您会根据 Java 8 - Lambda 约定在美学上进行任何更改以使其看起来更好吗?
{
UserProfile newUser = new UserProfile(fbUser.getId());
if( null == fbUser.getEmail() ) { newUser.setEmail(userMail); }
if( null == newUser.getEmail() ) { throw new MissingServletRequestParameterException("email", "String"); }
newUser.setEmail(fbUser.getEmail());
newUser.setUsername(fbUser.getName());
newUser.setPassword(passwordEncoder.encode(fbReq.getAccessToken()));
newUser.setFirebaseToken(fbReq.getFirebaseToken());
newUser.setLanguage(HoopLocale.getById(locale.getLanguage().toLowerCase()).toString());
UserAccount acc = new UserAccount();
acc.setCurrency(currencyRepo.findById(CurrencyName.getById(fbReq.getCurrency()).getId())
.orElseThrow(() -> new ResourceNotFoundException("Currency id", "id", fbReq.getCurrency())));
newUser.setUserAccount(acc);
userRepository.save(newUser);
}
【问题讨论】:
-
这可能更适合Code Review。