请求处理链路

1. 全局守卫顺序

当前主程序通过APP_GUARD注册了:
1.
DemoGuard
2.
AuthGuard
3.
AgentGuard
4.
ExtensionGuard
5.
PermissionsGuard
6.
SuperAdminGuard
7.
MemberOnlyGuard
日常二开最常碰到的是:
AuthGuard
PermissionsGuard
MemberOnlyGuard

2. 统一响应

默认所有接口返回都会被TransformInterceptor包成:
{"code":20000,"message":"ok","data":{},"timestamp":1710000000000}
所以业务层通常只需:
return data;
不需每个接口都手写统一响应对象。

3. 统一异常

异常最终会被HttpExceptionFilter处理为统一错误结构,因此业务层推荐抛:
throw HttpErrorFactory.badRequest("参数错误");
throw HttpErrorFactory.notFound("资源不存在");
throw HttpErrorFactory.forbidden("权限不足");
throw HttpErrorFactory.unauthorized("先登录");

319 篇文档 · 内容同步自官方帮助中心