提供者的Spring Cloud Contract-设置可选标头

时间:2018-09-13 07:38:17

标签: spring-cloud-contract groovydsl

我已经在提供方创建了合同:

Contract.make { 
    request {
        method 'GET'
        url('/cars/car?id=3')
        headers {
            header(accept(), "application/hal+json")
            header(SOME OTHER HEADER)
        }
    }
    response {
        ...
    }
}

很遗憾,我的一位客户没有发送带有“ header(SOME OTHER HEADER)”的请求。我的问题是如何将“标头(某些其他标头)”标记为可选?

2 个答案:

答案 0 :(得分:0)

您可以具有可选值。不是标题本身。如果标题是可选的,则创建两个单独的合同。一个带有标题,另一个不带有标题。

答案 1 :(得分:0)

我在这里遇到同样的问题。我需要在生成的存根中包含Access-Control-Allow-Origin标头,但如果将其添加到合同中,则测试开始失败,原因是:

Expecting:
 <null>
to be equal to:
 <"\"Access-Control-Allow-Origin\": \"*\"">

即使我用@CrossOrigin(value =“ *”)注释RestController类