提交 e34c9295 authored 作者: zhoushaopan's avatar zhoushaopan

feat[浙里办]: 修改返回的包装类

[修改返回的包装类]
上级 204326e2
......@@ -57,7 +57,7 @@ public class ZlbWeChatController {
// throw new RuntimeException("未登录");
// }
JSONObject userInfoByToken = zlbWeChatAuthService.getUserInfoByToken(token);
return ResponseEntity.ok(userInfoByToken);
return ResponseEntity.ok(userInfoByToken.getJSONObject("personInfo"));
}
......
package com.tykj.zlbapp.util;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.tykj.zlbapp.base.ResultObj;
import lombok.SneakyThrows;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.MethodParameter;
import org.springframework.http.MediaType;
......@@ -12,6 +14,8 @@ import org.springframework.http.server.ServerHttpResponse;
import org.springframework.web.bind.annotation.RestControllerAdvice;
import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice;
import java.util.Objects;
/**
* UnifiedReturnConfig.
*
......@@ -29,21 +33,32 @@ public class UnifiedReturnConfig implements ResponseBodyAdvice<Object> {
return true;
}
@SneakyThrows
@Override
public Object beforeBodyWrite(Object body, MethodParameter returnType, MediaType selectedContentType,
Class<? extends HttpMessageConverter<?>> selectedConverterType,
ServerHttpRequest request, ServerHttpResponse response) {
// String类型不能直接包装
if (returnType.getGenericParameterType().equals(String.class)) {
try {
// 将数据包装在ResultObj里后转换为json串进行返回
return objectMapper.writeValueAsString(new ResultObj<>(body));
} catch (JsonProcessingException e) {
e.getMessage();
}
boolean isVoid = Objects.isNull(body);
boolean isResultObj = body instanceof ResultObj;
boolean isStream = selectedContentType.includes(MediaType.APPLICATION_OCTET_STREAM);
boolean isJson = body instanceof JSONObject;
if (isVoid || isResultObj || isStream) {
return body;
}else {
return objectMapper.writeValueAsString(new ResultObj<>(body));
}
// // String类型不能直接返回
// if (returnType.getGenericParameterType().equals(String.class)) {
// try {
// // 将数据包装在ResultObj里后转换为json串进行返回
// return
// } catch (JsonProcessingException e) {
// e.getMessage();
// }
// }
// 否则直接包装成ResultVo返回
return new ResultObj<>(body);
// return new ResultObj<>(body);
}
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论