Browse Source

统一参数返回值过滤器,空指针异常 #61

IdentityServer4
WangJunZzz 4 years ago
parent
commit
2354e0a39f
  1. 8
      aspnet-core/frameworks/Extensions/src/Lion.AbpPro.Extension/Customs/Dtos/WrapResult.cs
  2. 19
      aspnet-core/services/host/Lion.AbpPro.HttpApi.Host/Extensions/MVC/Filters/ResultExceptionFilter.cs
  3. 6
      aspnet-core/services/src/Lion.AbpPro.Application/ApplicationConfigurations/LionAbpApplicationConfigurationAppService.cs

8
aspnet-core/frameworks/Extensions/src/Lion.AbpPro.Extension/Customs/Dtos/WrapResult.cs

@ -2,13 +2,13 @@
{
public class WrapResult<T>
{
public bool Success { get; set; }
public bool Success { get; private set; }
public string Message { get; set; }
public string Message { get; private set; }
public T Data { get; set; }
public T Data { get; private set; }
public int Code { get; set; }
public int Code { get; private set; }
public WrapResult()
{

19
aspnet-core/services/host/Lion.AbpPro.HttpApi.Host/Extensions/MVC/Filters/ResultExceptionFilter.cs

@ -63,35 +63,30 @@ namespace Lion.AbpPro.Extensions.MVC.Filters
switch (context.Exception)
{
case AbpAuthorizationException:
result.Code = 401;
result.Message = "权限不足.";
result.SetFail("权限不足", 401);
break;
case AbpValidationException:
result.Code = 400;
result.Message = "请求参数验证失败.";
result.SetFail("请求参数验证失败", 400);
break;
case EntityNotFoundException:
result.Code = 506;
result.Message = "实体不存在.";
result.SetFail("实体不存在", 506);
break;
case NotImplementedException:
result.Code = 507;
result.Message = "未实现功能.";
result.SetFail("未实现功能", 507);
break;
default:
{
result.Code = 500;
if (context.Exception is IHasErrorCode codeException)
{
result.Message = localizer[codeException.Code];
result.SetFail(localizer[codeException.Code]);
foreach (var key in context.Exception.Data.Keys)
{
result.Message = result.Message.Replace("{" + key + "}", context.Exception.Data[key]?.ToString());
result.SetFail(result.Message.Replace("{" + key + "}", context.Exception.Data[key]?.ToString()));
}
}
else
{
result.Message = context.Exception.Message;
result.SetFail(context.Exception.Message);
}
break;

6
aspnet-core/services/src/Lion.AbpPro.Application/ApplicationConfigurations/LionAbpApplicationConfigurationAppService.cs

@ -0,0 +1,6 @@
namespace Lion.AbpPro.ApplicationConfigurations;
public class LionAbpApplicationConfigurationAppService
{
}
Loading…
Cancel
Save