Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
W
wangxiaolu-sfa-module-gen
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
sfa
wangxiaolu-sfa-module-gen
Commits
176304cf
提交
176304cf
authored
11月 05, 2024
作者:
李秋林
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
返回对象拦截处理R对象
上级
fcf0e602
显示空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
49 行增加
和
0 行删除
+49
-0
ControllerResponseAdvice.java
...a/com/sfa/gen/config/advice/ControllerResponseAdvice.java
+49
-0
没有找到文件。
src/main/java/com/sfa/gen/config/advice/ControllerResponseAdvice.java
0 → 100644
浏览文件 @
176304cf
package
com
.
sfa
.
gen
.
config
.
advice
;
import
com.fasterxml.jackson.core.JsonProcessingException
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.sfa.common.core.domain.R
;
import
com.sfa.common.core.web.domain.AjaxResult
;
import
org.springframework.core.MethodParameter
;
import
org.springframework.http.MediaType
;
import
org.springframework.http.server.ServerHttpRequest
;
import
org.springframework.http.server.ServerHttpResponse
;
import
org.springframework.web.bind.annotation.RestControllerAdvice
;
import
org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice
;
/**
* @author : liqiulin
* @date : 2024-10-28 17
* @describe :自动封装
*/
@RestControllerAdvice
public
class
ControllerResponseAdvice
implements
ResponseBodyAdvice
<
Object
>{
/**
* response是R类型或者注释了NotControllerResponseAdvice都不进行包装
*/
@Override
public
boolean
supports
(
MethodParameter
methodParameter
,
Class
converterType
)
{
if
(
methodParameter
.
getParameterType
().
isAssignableFrom
(
AjaxResult
.
class
))
{
return
false
;
}
return
!
methodParameter
.
getParameterType
().
isAssignableFrom
(
R
.
class
);
}
@Override
public
Object
beforeBodyWrite
(
Object
body
,
MethodParameter
methodParameter
,
MediaType
selectedContentType
,
Class
selectedConverterType
,
ServerHttpRequest
request
,
ServerHttpResponse
response
)
{
// String类型不能直接包装
if
(
methodParameter
.
getGenericParameterType
().
equals
(
String
.
class
))
{
ObjectMapper
objectMapper
=
new
ObjectMapper
();
try
{
// 将数据包装在ResultVo里后转换为json串进行返回
return
objectMapper
.
writeValueAsString
(
R
.
ok
(
body
));
}
catch
(
JsonProcessingException
e
)
{
throw
new
RuntimeException
();
}
}
// 包装成R返回
return
R
.
ok
(
body
);
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论