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

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

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