Spring Cloud Contract для провайдера - настройка необязательного заголовка
Я создал контракт на стороне поставщика:
Contract.make {
request {
method 'GET'
url('/cars/car?id=3')
headers {
header(accept(), "application/hal+json")
header(SOME OTHER HEADER)
}
}
response {
...
}
}
К сожалению, один из моих клиентов не отправляет запрос с заголовком (НЕКОТОРЫЙ ДРУГОЙ ЗАГОЛОВОК). У меня вопрос, как я могу пометить "заголовок (НЕКОТОРЫЙ ДРУГОЙ ЗАГОЛОВОК)" как необязательный?
1 ответ
Вы можете иметь значение необязательно. Не сам заголовок. Если заголовок является необязательным, создайте два отдельных договора. Один с заголовком, а другой без него.
У меня здесь та же проблема. Мне нужно включить заголовок Access-Control-Allow-Origin в сгенерированную заглушку, но если я добавлю его в контракт, тесты начнут терпеть неудачу из-за:
Expecting:
<null>
to be equal to:
<"\"Access-Control-Allow-Origin\": \"*\"">
даже если я аннотирую класс RestController с помощью @CrossOrigin(value = "*")