地图与混凝土 类

Maps vs Concrete classes

在 Mule 中,当我与外部 Web 服务或 API 交谈时,我通常只是将响应转换为 Map 以使用值。

这是正确的做法吗?是否有 rule/best 实践何时转换为地图与转换为具体 class 使用 Jaxb 或其他东西?

如果我在 Mule 中构建一个 API,我会创建我的响应对象 DTO 作为具体 class 说 User.class 等。但是当我使用其他服务或 APIs 我倾向于只转换为地图。我想这里的缺点是了解地图的结构。

您的方法是最好的,因为它遵守 robustness principle

确实,您希望您的应用程序是:

  • 对它们生成的数据严格,您可以通过使用响应 DTO 来达到这种严格性,
  • 对他们消耗的数据松懈,您也可以通过使用地图处理远程响应来实现该目标。