实际开发中经常需要对接多个第三方平台,每个平台的 token 校验规则和返回值格式都不一样。有的平台用 HTTP 状态码表示成功失败,有的永远返回 200 但在 body 里塞自己的错误码,有的 token 过期返回特定错误字段,有的直接抛 401。 最直接的做法是在 HttpUtils 里对每种情况做判断: 每接入一个新平台就多一批方法,平台规则一变就要翻出对应的方法逐一修改。这么写的时候就觉得不对劲,但当时没想到更好的办法。 后来在工作中持续学习,逐渐了解到设计模式,接触到装饰器链这个思路,才意识到当时的问题可…