Abp vNext 框架使用實例更新(持續(xù)更....)

1,拋棄try - catch, 使用UserFriendlyException拋出友好異常

a)在Shared項目的ErrorCode對象中,自定義常量?public const string EssayCreateErrorCode = "-1";
b)API中測試拋出異常:throw new UserFriendlyException("測試狀態(tài)碼錯誤", HelloKeepDomainErrorCodes.EssayCreateErrorCode);
? ? ? ? 這里還可以定義更多的details,data等數(shù)據(jù)
c)正常情況下將拋出403,為了習(xí)慣,我們將這個狀態(tài)碼的返回都改為200,只需要在HttpApi項目的ConfigureServices方法中,添加??Configure<AbpExceptionHttpStatusCodeOptions>(options => { options.Map(HelloKeepDomainErrorCodes.EssayCreateErrorCode, HttpStatusCode.OK); });

自定義異常狀態(tài)碼


2,默認(rèn)IdentityUserManager 密碼強(qiáng)度調(diào)節(jié)

版本5.2.1,網(wǎng)絡(luò)上其他方法無效,這里在Program類中設(shè)置,最下面的‘符號’設(shè)置后會失敗


3,5.2版本創(chuàng)建項目會自帶很多ui框架的情況【純api項目】

1,.Host項目移除UI的主題依賴包,注釋或刪除相關(guān)的引用 >> Volo.Abp.AspNetCore.Mvc.UI.Theme.xxxxxx

2,去除.Host項目下 app.UseErrorPage() 的選項 >> 本選項將一些http的狀態(tài)碼處理為網(wǎng)頁的返回形式,去除后無需再編寫 重定向處理或jwt的設(shè)置認(rèn)證

3,刪除wwwroot下的libs


上述2中的jwt的情況
上述2中的一種情況


4,服務(wù)器自定義異常碼,用于切換500的內(nèi)部異常


主動拋出的異常錯誤,需要管理自己的狀態(tài)值來區(qū)分,并以200的狀態(tài)返回

1,在.Share項目下的DomainErrorCode對象中定義狀態(tài)碼

2,業(yè)務(wù)中使用 throw new UserFriendlyException("error message", your cutomer code)


定義狀態(tài)碼,上述示例為簡易使用
領(lǐng)域服務(wù)中直接使用


5,jwt的接入

1,.Host 的appsetting.json 中定義
2,.Share項目中創(chuàng)建同名的對象類
3,.Host 的Module中將 json和對象類綁定
4,.Host 的Module中注冊服務(wù)
5,通道中配置服務(wù)
5,登陸設(shè)置token,接口中使用[Authorize]特性


6,ICurrentUser 自定義擴(kuò)充

1,在.Share項目中定義擴(kuò)展的類型對象
2,定義擴(kuò)展的接口類,需要繼承ICurrentUser,用于注入和擴(kuò)展限制
3,實現(xiàn)接口類
4,登陸設(shè)置
5,使用方法
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容