Spring-Cloud-Contract динамически возвращает логическое значение из запроса в теле ответа - PullRequest
1 голос
/ 21 января 2020

Я пишу весенние облачные контракты, используя YAML DSL, и столкнулся со следующей проблемой.

Я пытаюсь динамически вернуть логическое значение из запроса в теле моего ответа. Когда я устанавливаю тело как логическое значение из запроса, ответ возвращает логическое значение в виде строки, а не в виде логического значения. Есть ли способ, которым я могу динамически возвращать логическое значение, чтобы получить желаемый ответ в приведенном ниже примере?

Пример контракта:

name: POST foo
request:
  method: POST
  urlPath: /foo
  body:
    myBool: true
  matchers:
    body:
      - path: $.myBool
        type: by_regex
        predefined: any_boolean
response:
  status: 201
  body:
    myBool: "{{{ jsonpath this '$.myBool' }}}"

Желаемый ответ:

{
  myBool: true
}

Фактический ответ

{
  myBool: "true"
}

1 Ответ

0 голосов
/ 21 января 2020

Согласно документации (https://cloud.spring.io/spring-cloud-static/spring-cloud-contract/2.2.1.RELEASE/reference/html/project-features.html#yaml) вы можете указать тип, используя regexType следующим образом

- path: $.thing1
  type: by_regex
  value: thing2
  regexType: as_string

, поэтому в вашем случае просто укажите regexType: as_boolean

...