common: 修改请求公共处理(controller方法中无返回结果时,默认返GlobalResult类型;返回为字符串时,设置默认的content-type类型为json)

release_1.0.0
xueqingkun 2 years ago
parent d8d02b889d
commit 2228589992

@ -1,11 +1,13 @@
package com.supervision.config; package com.supervision.config;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.supervision.domain.GlobalResult; import com.supervision.domain.GlobalResult;
import com.supervision.exception.BusinessException; import com.supervision.exception.BusinessException;
import com.supervision.exception.HumanException; import com.supervision.exception.HumanException;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.core.MethodParameter; import org.springframework.core.MethodParameter;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
import org.springframework.http.converter.HttpMessageConverter; import org.springframework.http.converter.HttpMessageConverter;
@ -47,13 +49,17 @@ public class ResponseConfig implements ResponseBodyAdvice<Object> {
if (Objects.isNull(o)) { if (Objects.isNull(o)) {
return JSONUtil.toJsonStr(GlobalResult.ok(null, "success")); return GlobalResult.ok(null, "success");
} }
if (o instanceof GlobalResult) { if (o instanceof GlobalResult) {
return o; return o;
} }
// 对于String类型的返回值需要进行特殊处理 // 对于String类型的返回值需要进行特殊处理
if (o instanceof String) { if (o instanceof String) {
HttpHeaders headers = serverHttpResponse.getHeaders();
if (CollectionUtil.isEmpty(headers.get("Content-Type"))){
headers.set("Content-Type","application/json");
}
return JSONUtil.toJsonStr(GlobalResult.ok(o, "success")); return JSONUtil.toJsonStr(GlobalResult.ok(o, "success"));
} }
return GlobalResult.ok(o, "success"); return GlobalResult.ok(o, "success");

Loading…
Cancel
Save