6K Star 11.8K Fork 4K

GVPdotNET China / Furion

 / 详情

关于IUnifyResultProvider实现后,如何应用到具体得方法或实现类

已完成
创建于  
2022-04-13 14:44

💢 特别说明:如果 Issue 没有严格按照模板编写且未提供测试源码下载或 Git 测试仓库地址,则视为无效 Issue

Furion 版本号

哪个版本号?
3.06

Web 项目类型

  • WebApi
  • Mvc
  • Razor Pages
  • Blazor Server
  • MinApp

描述你的问题

发生了什么?
业务场景为:有一批第三方对接接口,需要配置另一种规范化返回结果,通过属性[NonUnify]已排除并自行处理了返回结果。但当发生其它无法try到得异常时(比如参数传递异常),无法捕获进行统一处理返回。
翻了文档发现了有IUnifyResultProvider 接口可以显示定义返回结果,但是如何应用到指定得部分接口没有找到相关说明。

异常堆栈信息

异常堆栈是什么?


测试项目代码

⚠⚠ 必须提供完整可运行且包含错误的 Git 仓库 DEMO,DEMO 提供最简单的错误逻辑代码,否则不予处理。⚠⚠

您的代码下载地址?


数据库信息

  • Sqlite
  • SqlServer
  • Mysql
  • Oracle
  • PGSql
  • Firebird
  • Cosmos

期待结果

期待的结果是?
IUnifyResultProvider 实现后,应用到具体得方法或实现类。

评论 (6)

xs 创建了任务
xs 修改了描述
展开全部操作日志

输入图片说明

输入图片说明

这一类的请求异常应该是系统统一处理的,但又排除掉了规范化返回结果,所以就没办法单独处理这一类异常

所以考虑IUnifyResultProvider 的实现类,能否作用某一部分方法或控制器类

百小僧 任务状态待办的 修改为已完成

底层源码:https://gitee.com/dotnetchina/Furion/blob/net6/framework/Furion/UnifyResult/Attributes/UnifyResultAttribute.cs

输入图片说明

可以针对不同的状态码处理。


如果还不能解决的你的问题,那么写一个最简单的demo发我。

输入图片说明
尝试过这种方式,当出现异常时 返回的信息同上;个人理解是已经注入过规范化处理结果,被捕获到了做了处理;

系统内已经在全局注入了一个 RestfulResultProvider ,现在就是想在定制一个第三方ResultProvider,用与固定的接口

百小僧 任务状态已完成 修改为待办的
百小僧 任务状态待办的 修改为已完成

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(2)
974299 monksoul 1578937227 1172501 xs1996 1679541255
C#
1
https://gitee.com/dotnetchina/Furion.git
git@gitee.com:dotnetchina/Furion.git
dotnetchina
Furion
Furion

搜索帮助