【发布时间】:2020-06-24 06:10:59
【问题描述】:
我的代码中有很多 if-else 语句,我可以避免这么多 if-else 语句的最佳方法是什么。下面是代码sn-p。现在我需要再次检查 WWW-Authenticate 标头是否返回值
signature_invalid
然后我需要记录并返回不同的错误消息,如果 WWW-Authenticate 标头返回值
token_exppured
然后我需要记录一条不同的错误消息,这将再次添加 2 个 ifs。谁能帮助我如何避免这种情况?
if (e.getRawStatusCode() == NOT_FOUND) {
logger.log(
log,
LogLevel.ERROR,
MISSING_VALID_ID_ERROR_MSG + " : " + e.toString(),
viewRequest);
String errorDetails = createNotFoundDetails(appl, transactionId);
updateIdentifier(rcvLog, true, request, identifier);
return createErrorViewResponseReply(MISSING_VALID_ID_ERROR_MSG, errorDetails);
} else if (e.getRawStatusCode() == UNAUTHORIZED) {
logger.log(
log,
LogLevel.ERROR,
UNABLE_TO_REACH_ERROR_MSG + " : " + e.toString(),
viewRequest);
if (e.getResponseHeaders() != null && e.getResponseHeaders().getFirst(HttpHeaders.WWW_AUTHENTICATE != null)) {
logger.log(
log,
LogLevel.ERROR,
INVALID_TOKEN_ERROR_MSG + " : " + e.getResponseHeaders().getFirst(HttpHeaders.WWW_AUTHENTICATE),
viewRequest);
}
updateIdentifier(rcvLog, false, request, identifier);
return createErrorViewResponseReply(
UNABLE_TO_REACH_ERROR_MSG,
INVALID_TOKEN_ERROR_DETAILS);
}
【问题讨论】:
-
这能回答你的问题吗? Replacing if else statement with pattern
-
你不需要第一个 else,首先..一个 if 就可以了。
-
可以使用
switch,也可以拆分成多种方法。
标签: java if-statement