Abp vNext 框架使用实例更新(持续更....)

1,抛弃try - catch, 使用UserFriendlyException抛出友好异常

a)在Shared项目的ErrorCode对象中,自定义常量 public const string EssayCreateErrorCode = "-1";
b)API中测试抛出异常:throw new UserFriendlyException("测试状态码错误", HelloKeepDomainErrorCodes.EssayCreateErrorCode);
        这里还可以定义更多的details,data等数据
c)正常情况下将抛出403,为了习惯,我们将这个状态码的返回都改为200,只需要在HttpApi项目的ConfigureServices方法中,添加  Configure(options => { options.Map(HelloKeepDomainErrorCodes.EssayCreateErrorCode, HttpStatusCode.OK); });

自定义异常状态码


2,默认IdentityUserManager 密码强度调节

版本5.2.1,网络上其他方法无效,这里在Program类中设置,最下面的‘符号’设置后会失败


3,5.2版本创建项目会自带很多ui框架的情况【纯api项目】

1,.Host项目移除UI的主题依赖包,注释或删除相关的引用 >> Volo.Abp.AspNetCore.Mvc.UI.Theme.xxxxxx

2,去除.Host项目下 app.UseErrorPage() 的选项 >> 本选项将一些http的状态码处理为网页的返回形式,去除后无需再编写 重定向处理或jwt的设置认证

3,删除wwwroot下的libs


上述2中的jwt的情况
上述2中的一种情况


4,服务器自定义异常码,用于切换500的内部异常


主动抛出的异常错误,需要管理自己的状态值来区分,并以200的状态返回

1,在.Share项目下的DomainErrorCode对象中定义状态码

2,业务中使用 throw new UserFriendlyException("error message", your cutomer code)


定义状态码,上述示例为简易使用
领域服务中直接使用


5,jwt的接入

1,.Host 的appsetting.json 中定义
2,.Share项目中创建同名的对象类
3,.Host 的Module中将 json和对象类绑定
4,.Host 的Module中注册服务
5,通道中配置服务
5,登陆设置token,接口中使用[Authorize]特性


6,ICurrentUser 自定义扩充

1,在.Share项目中定义扩展的类型对象
2,定义扩展的接口类,需要继承ICurrentUser,用于注入和扩展限制
3,实现接口类
4,登陆设置
5,使用方法

你可能感兴趣的:(Abp vNext 框架使用实例更新(持续更....))