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

release_1.0.0
xueqingkun 1 year ago
parent d8d02b889d
commit 2228589992

@ -1,11 +1,13 @@
package com.supervision.config;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.json.JSONUtil;
import com.supervision.domain.GlobalResult;
import com.supervision.exception.BusinessException;
import com.supervision.exception.HumanException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.core.MethodParameter;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.converter.HttpMessageConverter;
@ -47,13 +49,17 @@ public class ResponseConfig implements ResponseBodyAdvice<Object> {
if (Objects.isNull(o)) {
return JSONUtil.toJsonStr(GlobalResult.ok(null, "success"));
return GlobalResult.ok(null, "success");
}
if (o instanceof GlobalResult) {
return o;
}
// 对于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 GlobalResult.ok(o, "success");

Loading…
Cancel
Save