跳到主要内容

DSL 自定义

DeepSeek V3 中英对照 DSL Customization

important

此部分仅适用于 Groovy DSL

你可以通过扩展DSL来自定义Spring Cloud Contract Verifier,如本节剩余部分所示。

扩展 DSL​

你可以向DSL提供你自己的函数。此功能的关键要求是保持静态兼容性。在本章后面,你可以看到以下示例:

  • 创建包含可重用类的 JAR 包。

  • 在 DSL 中引用这些类。

你可以在这里找到完整的示例。

通用 JAR​

以下示例展示了可在 DSL 中重用的三个类。

PatternUtils 包含了消费者和生产者共同使用的函数。

ConsumerUtils 包含了消费者使用的函数。

ProducerUtils 包含了生产者使用的函数。

在项目的依赖项中添加测试依赖​

要在项目的依赖项中添加测试依赖项,首先需要将通用jar依赖项添加为测试依赖项。由于您的合约文件位于测试资源路径中,通用jar类会自动在您的Groovy文件中可见。以下示例展示了如何测试该依赖项。

在插件的依赖项中添加测试依赖项​

现在,您必须添加插件的依赖项,以便在运行时重复使用。

在DSL中引用类​

现在你可以在DSL中引用你的类了,如以下示例所示。

important

你可以通过将 convertToYaml 设置为 true 来设置 Spring Cloud Contract 插件。这样,你就不需要在消费者端添加具有扩展功能的依赖项,因为消费者端使用的是 YAML 合约而不是 Groovy 合约。