Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
I
ims-ci-test
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
test-ci
ims-ci-test
Commits
0ff28aa5
提交
0ff28aa5
authored
7月 18, 2023
作者:
zhenjie
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
异常处理
上级
377bc317
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
103 行增加
和
0 行删除
+103
-0
GlobalExceptionHandler.java
...ava/com/mmc/csf/release/error/GlobalExceptionHandler.java
+93
-0
application-local.yml
release-service/src/main/resources/application-local.yml
+10
-0
没有找到文件。
release-service/src/main/java/com/mmc/csf/release/error/GlobalExceptionHandler.java
0 → 100644
浏览文件 @
0ff28aa5
package
com
.
mmc
.
csf
.
release
.
error
;
import
com.mmc.csf.common.util.web.BizException
;
import
com.mmc.csf.common.util.web.ResultBody
;
import
com.mmc.csf.common.util.web.ResultEnum
;
import
org.springframework.context.support.DefaultMessageSourceResolvable
;
import
org.springframework.validation.BindException
;
import
org.springframework.validation.ObjectError
;
import
org.springframework.web.bind.MethodArgumentNotValidException
;
import
org.springframework.web.bind.MissingPathVariableException
;
import
org.springframework.web.bind.MissingServletRequestParameterException
;
import
org.springframework.web.bind.annotation.ControllerAdvice
;
import
org.springframework.web.bind.annotation.ExceptionHandler
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
javax.validation.ConstraintViolation
;
import
javax.validation.ConstraintViolationException
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* @author 作者 geDuo
* @version 创建时间:2021年8月27日 上午10:15:30
* @explain 类说明
*/
@ControllerAdvice
public
class
GlobalExceptionHandler
{
/**
* 统一处理参数校验错误异常(非Spring接口数据绑定验证)
*
* @param e
* @return
*/
@ExceptionHandler
(
BindException
.
class
)
@ResponseBody
public
ResultBody
processValidException
(
BindException
e
)
{
// 获取校验错误结果信息,并将信息组装
List
<
String
>
errorStringList
=
e
.
getBindingResult
().
getAllErrors
().
stream
().
map
(
ObjectError:
:
getDefaultMessage
)
.
collect
(
Collectors
.
toList
());
String
errorMessage
=
String
.
join
(
"; "
,
errorStringList
);
return
ResultBody
.
error
(
ResultEnum
.
BODY_NOT_MATCH
.
getResultCode
(),
errorMessage
);
}
/**
* 统一处理参数校验错误异常
*
* @param e
* @return
*/
@ExceptionHandler
(
IllegalArgumentException
.
class
)
@ResponseBody
public
ResultBody
processValidException
(
IllegalArgumentException
e
)
{
String
errorMessage
=
String
.
join
(
"; "
,
e
.
getMessage
());
return
ResultBody
.
error
(
ResultEnum
.
BODY_NOT_MATCH
.
getResultCode
(),
errorMessage
);
}
@ExceptionHandler
(
ConstraintViolationException
.
class
)
@ResponseBody
public
ResultBody
processValidException
(
ConstraintViolationException
e
)
{
String
errorMessage
=
e
.
getConstraintViolations
().
stream
().
map
(
ConstraintViolation:
:
getMessage
)
.
collect
(
Collectors
.
joining
(
","
));
return
ResultBody
.
error
(
ResultEnum
.
BODY_NOT_MATCH
.
getResultCode
(),
errorMessage
);
}
@ExceptionHandler
(
MethodArgumentNotValidException
.
class
)
@ResponseBody
public
ResultBody
processValidException
(
MethodArgumentNotValidException
e
)
{
String
errorMessage
=
e
.
getBindingResult
().
getAllErrors
().
stream
()
.
map
(
DefaultMessageSourceResolvable:
:
getDefaultMessage
).
collect
(
Collectors
.
joining
(
","
));
return
ResultBody
.
error
(
ResultEnum
.
BODY_NOT_MATCH
.
getResultCode
(),
errorMessage
);
}
@ExceptionHandler
(
MissingServletRequestParameterException
.
class
)
@ResponseBody
public
ResultBody
processValidException
(
MissingServletRequestParameterException
e
)
{
String
errorMessage
=
e
.
getParameterName
()
+
" 不能为空"
;
return
ResultBody
.
error
(
ResultEnum
.
BODY_NOT_MATCH
.
getResultCode
(),
errorMessage
);
}
@ExceptionHandler
(
MissingPathVariableException
.
class
)
@ResponseBody
public
ResultBody
processValidException
(
MissingPathVariableException
e
)
{
String
errorMessage
=
e
.
getVariableName
()
+
" 不能为空"
;
return
ResultBody
.
error
(
ResultEnum
.
BODY_NOT_MATCH
.
getResultCode
(),
errorMessage
);
}
@ExceptionHandler
(
BizException
.
class
)
@ResponseBody
public
ResultBody
processValidException
(
BizException
e
)
{
return
ResultBody
.
error
(
e
.
getErrorCode
(),
e
.
getErrorMsg
());
}
}
release-service/src/main/resources/application-local.yml
浏览文件 @
0ff28aa5
...
...
@@ -110,6 +110,16 @@ iuav:
pmsapp
:
url
:
http://127.0.0.1:8099
wx
:
sub
:
appid
:
wx5c6a105a0ddca4c5
secret
:
96c75255dd26f82f8d55e15b59e101c7
app
:
id
:
wx18b7883acd204278
secret
:
28afe74ba373830237a8133a7431ee82
miniprogram-state
:
trial
env-version
:
trial
##feign
#feign:
# client:
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论