将Zod错误转换为易读的错误响应

将Zod错误转换为易读的错误响应

💡 原文英文,约700词,阅读约需3分钟。
📝

内容提要

在NestJS中,通过异常过滤器将Zod验证错误转换为易读的键值消息对象(如{"name": "错误信息"}),简化了错误处理,便于前端读取和处理。

🎯

关键要点

  • 在NestJS中,通过异常过滤器将Zod验证错误转换为易读的键值消息对象。
  • Zod验证错误的原始格式较难处理,转换为键值格式后更易于读取。
  • 使用异常过滤器集中处理错误,简化错误管理。
  • 实现了一个ErrorFilter类,用于捕获和转换ZodError。
  • 通过zodErrorToKeyedObject方法将ZodError转换为键值对格式。
  • 在应用程序中全局应用该过滤器,以处理所有异常。
  • 对于HttpException,直接返回其状态和消息。
  • 对于ZodError,返回400状态和验证错误信息。
  • 其他错误返回500内部服务器错误。
  • 建议使用键值消息格式处理验证错误,以便于前端直接提取和显示。
➡️

继续阅读