Как создать массив JSON, а затем передать его в запрос с помощью Rest Assured? - PullRequest
0 голосов
/ 16 января 2020

У меня есть класс, в котором я определяю свой json объект

data class Request(
        val programId: Int,
        val amount: Double,
        val currency: String,
        val entityId: Int?=null
)

и еще один, который принимает список запроса

data class Model(
    val requests: List<Request>
)

Вот что я попробовал

fun postReq(id:Int,name:String,number:Double,age:Int?=null):String{


        val requestJson = Request(id,number,name,age)
        val gson = GsonBuilder().create()
        val model = gson.toJson(requestJson,Array<Model>::class.java).toList()
        var jsonBody:JSONPObject

        val loginRequestUrl = "localhost:8081/api"
        var request: RequestSpecification = RequestSpecBuilder().build()
        log(model.toString())
        var response: Response = RestAssured.given()
                .spec(request)
                .contentType(ContentType.JSON).with()
                .body(model)
                .`when`()
                .post(loginRequestUrl)
                .then()
                .log().all()
                .statusCode(200)
                .extract().response()
        return response.path("id")
    }

Когда я запускаю вышеописанное, я получаю java.lang.IllegalArgumentException: Argument is not an array

Любая помощь?

...