//如何将下面的java查询放在switch的情况下?我正在使用spring-mobile项目,因此需要将以下代码放入switch帮助中。
try {
if (device.isMobile()) {
redirectUri = cfg.getEmail().getVerification().getMobile_success_redirect_url();
}
} catch (Exception ex) {
redirectUri = cfg.getEmail().getVerification().getMobile_failure_redirect_url();
logger.error("Failed to verify email. Cause: {}", ex);
}
try {
if (device.isTablet()) {
redirectUri = cfg.getEmail().getVerification().getTablet_success_redirect_url();
}
} catch (Exception ex) {
redirectUri = cfg.getEmail().getVerification().getTablet_success_redirect_url();
logger.error("Failed to verify email. Cause: {}", ex);
}
try {
if (device.isNormal()) {
redirectUri = cfg.getEmail().getVerification().getWeb_success_redirect_url();
}
} catch (Exception ex) {
redirectUri = cfg.getEmail().getVerification().getWeb_failure_redirect_url();
logger.error("Failed to verify email. Cause: {}", ex);
}
response.sendRedirect(redirectUri);
最佳答案
阅读@Naman发表的评论。我同意,这里有更多细节。
我不确定device
类型的类是否在您的控制范围内。
但是,如果是这样,您可能应该具有表示设备类型的字段,该字段可以是具有3个值MOBILE, TABLET, NORMAL
的Enum。
现在,您可以在此Enum
上有一个切换用例,每个用例都包含该特定用例的代码。
此切换案例的方法应接受2个参数,即新创建的DeviceType
枚举和cfg.getEmail().getVerification()
返回的Object。
粗略的轮廓,但我希望你明白这一点。String getRedirectUri(DeviceType deviceType, Verification verification) { switch(deviceType) { case TABLET: case MOBILE: case NORMAL: default }}