Определите DSL контракта для отправки количества элементов JSON из запроса в ответ

У меня есть контракт на тестирование весеннего облачного контракта. Я отправляю JSON в теле запроса и хочу вернуть количество keyValues ​​в ответе responseMsg.

Я могу вернуть «keyValues» в «requestKeys», но не могу получить счет. Любая помощь будет оценена.

import org.springframework.cloud.contract.spec.Contract


Contract.make {


    name("lockUnlockKeys")

    request {
        method(POST())
        url("/api/v1.0/license/lockunlockkeys")
        headers {
            header 'Content-Type': 'application/json'
        }
        body(
                [
                        "keyValues":
                                [
                                        "0048Q-0MK1N-38V8C-013KP-0NQ00",
                                        "00497-4MK17-38V82-0L28M-11Q24"
                                ],
                        "lockflag": matching(regex("[YN]{1}"))
                ]
        )
        bodyMatchers {
            jsonPath('$.keyValues', byType {
                minOccurrence(1)
            })
        }
    }
    response {
        status(200)
        body(
                [
                        "requestedKeyList": value(fromRequest().body('$.keyValues')),
                        "responseMsg": ?????????
                ]
        )
        headers {
            header 'Content-Type': 'application/json'
        }
    }
}

Любые предложения вместо "???????"


person sk17261205    schedule 17.07.2019    source источник
comment
Вы пробовали fromRequest().body('$.keyValues.length()')?   -  person TYsewyn    schedule 17.07.2019


Ответы (1)


Спасибо fromRequest().body('$.keyValues.length()')

Это сработало для меня

person sk17261205    schedule 18.07.2019