Abp小知识-如何全局设置DontWrapResult属性
程序员文章站
2022-04-28 20:21:09
demo地址 GitHub相关demo地址: 对demo说明一下,非abp官网模板,使用Visual Studio 2019创建的 项目,引入Abp.AspNetCore包,简单改造一下。 适配Abp 简单列举改造步骤: 1. "初始化项目" 2. "通过nuget引入Abp.AspNetCore" ......
demo地址
github相关demo地址:
对demo说明一下,非abp官网模板,使用visual studio 2019创建的asp.net core 2.2 webapi
项目,引入abp.aspnetcore包,简单改造一下。
适配abp
简单列举改造步骤:
按照上述步骤改造完成之后,运行站点,返回结果如下(已对返回的json字符串格式化以方便查看)
{ "result": [ "value1", "value2" ], "targeturl": null, "success": true, "error": null, "unauthorizedrequest": false, "__abp": true }
wrapresult和dontwrapresult
使用属性wrapresult和dontwrapresult控制是否对controller或者action处理。默认情况下,会对返回结果封装,封装结果如上。[dontwrapresult]
等同于[wrapresult(wraponsuccess = false, wraponerror = false)]
。
对我来说,我是不希望获取干净的返回,不需要什么封装。这时我可以再controller和action上添加[dontwrapresult]
,屏蔽封装。不想每添加一个controller或者action,都添加该属性?你需要全局配置configuration.modules.abpaspnetcore()
。
配置如下
var result = new dontwrapresultattribute(); configuration.modules.abpaspnetcore().defaultwrapresultattribute.wraponerror = result.wraponerror; configuration.modules.abpaspnetcore().defaultwrapresultattribute.wraponsuccess = result.wraponsuccess;
详情可查看:如何全局配置wrapresult
全局配置之后,返回如下
[ "value1", "value2" ]
下一篇: C# 单元测试学习笔记