响应数据序列化出现异常, 触发panic #14

Merged
zhangdeman merged 1 commits from feature/upgrade_route_handler into master 2025-06-21 20:41:24 +08:00

View File

@ -93,9 +93,14 @@ func Send(ctx *gin.Context, code any, httpCode int, data any, responseOption *de
ctx.Set(responseConfig.ResponseDataField, responseData)
responseException := exception.New(code, responseData)
responseContentType := getResponseDataType(responseOption.ContentType)
responseInstance, _ := wrapper.NewJson(serialize.JSON.MarshalForStringIgnoreError(responseException.Data()), &wrapper.Option{XmlName: responseOption.XmlName})
finalResponseData, _ := responseInstance.Marshal(responseContentType)
ctx.Data(http.StatusOK, responseOption.ContentType, finalResponseData)
responseStr := serialize.JSON.MarshalForStringIgnoreError(responseException.Data())
if responseInstance, err := wrapper.NewJson(responseStr, &wrapper.Option{XmlName: responseOption.XmlName}); nil != err {
// 接口处理成功, 数据序列化出现异常
panic(err.Error()) // 直接panic, 交给gin处理
} else {
finalResponseData, _ := responseInstance.Marshal(responseContentType)
ctx.Data(http.StatusOK, responseOption.ContentType, finalResponseData)
}
}
// getResponseDataType 获取相应数据类型