⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

中间件链:在解析器执行前后注入权限、日志与性能监控

本教程将展示如何利用 graphql-middleware 库构建可组合的中间件栈,实现细粒度的访问控制、执行时间测量、以及自动缓存结果。 · 难度:入门 · +10XP

中间件链:在解析器执行前后注入权限、日志与性能监控

很多开发者直接在解析器中写权限检查、日志记录,导致代码重复。本课程教你使用 graphql-middleware 库将横切关注点分离成独立的中间件函数,并像洋葱模型一样组合它们。你将学习如何编写一个权限中间件(检查角色)、一个日志中间件(记录查询耗时)、一个缓存中间件(Redis 缓存结果),并且处理中间件之间的数据传递(如将检查结果存到 context)。

const { applyMiddleware } = require('graphql-middleware');

const logMiddleware = async (resolve, root, args, context, info) => {
const start = Date.now();
const result = await resolve(root, args, context, info);
console.log(${info.fieldName} took ${Date.now() - start}ms);
return result;
};

const schema = applyMiddleware(makeExecutableSchema({ typeDefs, resolvers }), logMiddleware);
Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 147 篇
0 完成
🔥 0