Compare commits
3 Commits
6a57d22366
...
f887079a62
| Author | SHA1 | Date | |
|---|---|---|---|
| f887079a62 | |||
| 3283c678db | |||
| 3eb6bd7df5 |
@ -20,6 +20,7 @@ import org.springframework.web.context.request.ServletRequestAttributes;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
@ -351,14 +352,17 @@ public class TimiSpring {
|
||||
public static Language getLanguage() {
|
||||
String name = getRequestArg("lang");
|
||||
if (TimiJava.isEmpty(name)) {
|
||||
name = getHeader("Accept-Language");
|
||||
List<Locale.LanguageRange> rangeList = Locale.LanguageRange.parse(getHeader("Accept-Language"));
|
||||
for (Locale.LanguageRange item : rangeList) {
|
||||
if (item.getRange().contains("-")) {
|
||||
name = item.getRange();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (TimiJava.isNotEmpty(name)) {
|
||||
name = name.replace("-", "_");
|
||||
}
|
||||
if (TimiJava.isEmpty(name)) {
|
||||
name = getLocale().toString();
|
||||
}
|
||||
if (TimiJava.isEmpty(name)) { // use for not support
|
||||
return Language.zh_CN;
|
||||
}
|
||||
|
||||
@ -89,7 +89,7 @@ public class GlobalExceptionHandler {
|
||||
@ExceptionHandler(Throwable.class)
|
||||
public TimiResponse<?> error(Throwable e) {
|
||||
if (e instanceof TimiException timiE) {
|
||||
if (env.startsWith("dev") || log.isDebugEnabled()) {
|
||||
if (!env.startsWith("prod") || log.isDebugEnabled()) {
|
||||
log.error(timiE.getMessage(), e);
|
||||
}
|
||||
// 一般异常
|
||||
|
||||
@ -55,11 +55,16 @@ public class GlobalReturnHandler implements ResponseBodyAdvice<Object> {
|
||||
} else {
|
||||
result = new TimiResponse<>(TimiCode.SUCCESS, body);
|
||||
}
|
||||
try {
|
||||
if (multilingualHeader != null && TimiJava.isNotEmpty(result.getMsgKey())) {
|
||||
result.setMsg(multilingualHeader.handler(result));
|
||||
} else if (TimiJava.isEmpty(result.getMsg())) {
|
||||
result.setMsg(TimiCode.fromCode(result.getCode()).toString());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("multilingual response error", e);
|
||||
result.setMsg(TimiCode.fromCode(result.getCode()).toString());
|
||||
}
|
||||
if (30000 < result.getCode()) {
|
||||
log.warn("ID: {} Response -> Exception.{}.{}", TimiSpring.getSessionAttr(AOPLogInterceptor.REQUEST_ID), result.getCode(), result.getMsg());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user