//如何将下面的java查询放在切换的情况下?我正在与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);
我不确定device
类型的类是否在您的控制中。
但是如果是这样,您可能应该具有表示设备类型的字段,它可以是具有3个值MOBILE, TABLET, NORMAL
的Enum。
现在您可以在此Enum
上有一个开关盒,每个盒都包含该特定用例的代码。
此切换案例的方法应接受2个参数,新创建的DeviceType
枚举和cfg.getEmail().getVerification()
返回的对象。
粗略的轮廓,但希望您能理解。
String getRedirectUri(DeviceType deviceType, Verification verification) {
switch(deviceType) {
case TABLET:
case MOBILE:
case NORMAL:
default
}
}