oauth2-exception-序列化additionalInformation
This commit is contained in:
@@ -9,6 +9,7 @@ import com.fasterxml.jackson.databind.SerializerProvider;
|
||||
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
|
||||
import org.springframework.context.MessageSource;
|
||||
import org.springframework.context.i18n.LocaleContextHolder;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Locale;
|
||||
@@ -152,21 +153,18 @@ public class CustomOAuthExceptionJacksonSerializer extends StdSerializer<CustomO
|
||||
}
|
||||
String CODE = "code";
|
||||
String MESSAGE = "message";
|
||||
String REASON = "reason";
|
||||
String DATE = "date";
|
||||
jgen.writeNumberField(CODE, status.value());
|
||||
Locale locale = LocaleContextHolder.getLocale();
|
||||
String i18nId = BusiStatus.class.getSimpleName() + StrUtil.DOT + status.getName();
|
||||
String abc = SpringContextHolder.getBean(MessageSource.class).getMessage(i18nId, null, status.getMessage(), locale);
|
||||
jgen.writeStringField(MESSAGE, abc);
|
||||
Map<String, String> additionalInformation = value.getAdditionalInformation();
|
||||
if (CollectionUtil.isNotEmpty(additionalInformation)) {
|
||||
if (additionalInformation.containsKey(REASON)) {
|
||||
jgen.writeStringField(REASON, additionalInformation.get(REASON));
|
||||
}
|
||||
if (additionalInformation.containsKey(DATE)) {
|
||||
jgen.writeStringField(DATE, additionalInformation.get(DATE));
|
||||
}
|
||||
if (CollectionUtils.isEmpty(additionalInformation)){
|
||||
jgen.writeEndObject();
|
||||
return;
|
||||
}
|
||||
for (String key : additionalInformation.keySet()){
|
||||
jgen.writeStringField(key, additionalInformation.get(key));
|
||||
}
|
||||
jgen.writeEndObject();
|
||||
}
|
||||
|
Reference in New Issue
Block a user