весенний облачный контракт - используйте тело запроса в качестве тела ответа - PullRequest
0 голосов
/ 25 октября 2018

весной облачный контракт (v1.2.5) с использованием этого контракта:

    Contract.make {
        description "update sthg"
        request {
            method PUT()
            url value($(consumer('/path/to/sthg'),
                    producer(execute('somePutPathPath(0,\"xxx\")'))))
            body(producer(
                    file('files/givens/my-body.json')
            ))
        }
        response {
            status 200
            headers {
                contentType(applicationJson())
            }
            body(fromRequest().body())
        }
    }

Я получаю ошибку при генерации тестов

 org.springframework.cloud:spring-cloud-contract-maven-plugin:1.2.5.RELEASE:generateTests failed:net.minidev.json.parser.ParseException: Unexpected character ({) at position 1. -> [Help 1]

, но все в порядке, если я использую: body (someProp: fromRequest (). Body ())

    Contract.make {
        description "update sthg"
        request {
            method PUT()
            url value($(consumer('/path/to/sthg'),
                    producer(execute('somePutPathPath(0,\"xxx\")'))))
            body(producer(
                    file('files/givens/my-body.json')
            ))
        }
        response {
            status 200
            headers {
                contentType(applicationJson())
            }
            body(someProp: fromRequest().body())
        }
    }

Как я могу установить ответ тела для тела запроса.

1 Ответ

0 голосов
/ 26 октября 2018

Я решил это, используя request.getBody () вместо: body (fromRequest (). Body ())

  body($(
            c(request.getBody()),
            p(file('some.json'))
    ))
...