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"
]