W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
Spring Cloud Contract支持2種類型的DSL。一種寫在?Groovy
?中,另一種寫在?YAML
?中。
如果您決定將合同寫在Groovy中,那么如果您以前沒有使用過Groovy,請不要驚慌。確實不需要語言知識,因為Contract DSL僅使用它的一小部分(僅文字,方法調(diào)用和閉包)。同樣,DSL是靜態(tài)類型的,以使其在不了解DSL本身的情況下就可以被程序員讀取。
請記住,在Groovy合同文件中,必須為
Contract
類和make
靜態(tài)導(dǎo)入(例如org.springframework.cloud.spec.Contract.make { …? }
)提供完全限定名稱。您還可以導(dǎo)入Contract
類:import org.springframework.cloud.spec.Contract
,然后調(diào)用Contract.make { …? }
。
Spring Cloud Contract支持在單個文件中定義多個合同。
以下是YAML合同定義的完整示例:
description: Some description name: some name priority: 8 ignored: true request: url: /foo queryParameters: a: b b: c method: PUT headers: foo: bar fooReq: baz body: foo: bar matchers: body: - path: $.foo type: by_regex value: bar headers: - key: foo regex: bar response: status: 200 headers: foo2: bar foo3: foo33 fooRes: baz body: foo2: bar foo3: baz nullValue: null matchers: body: - path: $.foo2 type: by_regex value: bar - path: $.foo3 type: by_command value: executeMe($it) - path: $.nullValue type: by_null value: null headers: - key: foo2 regex: bar - key: foo3 command: andMeToo($it)
您可以使用獨立的maven命令將合同編譯為存根映射:
mvn org.springframework.cloud:spring-cloud-contract-maven-plugin:convert
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: