在Request Body中传递字符串时出现问题

时间:2018-03-19 15:37:45

标签: java json rest-assured

我在使请求主体用Java进行API调用时遇到了一个问题。

必需的正文

{
    "id" : [1,2]
}

我有一个整数数组,我可以说arr,我创建的请求类似于: -

JSONObject jsonObject = new JSONObject();
jsonObject.put("id",Arrays.toString(arr));
String stringBody = jsonObject.toJSONString();
RequestSpecification specification = RestAssured.with();
specification.body(stringBody);
Response response = specification.post(endpoint);

它实际上做的是使请求正文如下所示。

{
    "id" : "[1,2]"
}

因为它将值作为String发送,所以我的服务器抛出错误Expected a list of items but got type \"unicode\"

有人可以帮助我吗?如何以原始格式而不是字符串发送它。

1 个答案:

答案 0 :(得分:0)

使用

jsonObject.put("id",Arrays.asList(arr));

建立json体。