GitHub相關demo地址:
對demo說明一下,非abp官網模板,使用Visual Studio 2019建立的asp.net core 2.2 webapi
項目,引入Abp.AspNetCore包,簡單改造一下。git
簡單列舉改造步驟:github
按照上述步驟改造完成以後,運行站點,返回結果以下(已對返回的json字符串格式化以方便查看)web
{ "result": [ "value1", "value2" ], "targetUrl": null, "success": true, "error": null, "unAuthorizedRequest": false, "__abp": true }
使用屬性WrapResult和DontWrapResult控制是否對Controller或者Action處理。默認狀況下,會對返回結果封裝,封裝結果如上。[DontWrapResult]
等同於[WrapResult(WrapOnSuccess = false, WrapOnError = false)]
。
對我來講,我是不但願獲取乾淨的返回,不須要什麼封裝。這時我能夠再Controller和Action上添加[DontWrapResult]
,屏蔽封裝。不想每添加一個Controller或者Action,都添加該屬性?你須要全局配置Configuration.Modules.AbpAspNetCore()
。
配置以下json
var result = new DontWrapResultAttribute(); Configuration.Modules.AbpAspNetCore().DefaultWrapResultAttribute.WrapOnError = result.WrapOnError; Configuration.Modules.AbpAspNetCore().DefaultWrapResultAttribute.WrapOnSuccess = result.WrapOnSuccess;
詳情可查看:如何全局配置WrapResultapi
全局配置以後,返回以下asp.net
[ "value1", "value2" ]