如何放心地编写数组请求体



我使用了放心框架,这是post方法的请求体

{
"requestNumber":749 ,
"referenceNumber": "tyryrty",
"cardType": "aliqua pariatur enim cupidatat",
"companyName": "amet Lorem",
"rejectMessage": "tempor dolor officia",
"contactEmail": "mollit pariatur veniam sed",
"serviceProviderEmailList": [
"ipsum nis",
"Ut dolore aliqua exercitation irure"
],
"approvedBy": "sup",
"approvedDate": "1962-07-15T01:00:55.437Z"
}

我已经尝试过这种方式,但我没有得到结果


JSONObject jsonobj1 = new JSONObject();
jsonobj1.put("requestNumber", 749 );
jsonobj1.put("referenceNumber", "tyryrty");
jsonobj1.put("cardType", "aliqua pariatur enim cupidatat");
jsonobj1.put("companyName", "amet Lorem");
jsonobj1.put("contactEmail", "tempor dolor officia");
Map<String, Object> map= new HashMap<String,Object>();
map.put("serviceProviderEmailList", "ipsum nis");
List<Map<String, Object>> test=Arrays.asList(map);
jsonobj1.put("serviceProviderEmailList", test);

jsonobj1.put("approvedBy", "sup");
jsonobj1.put("approvedDate", "1962-07-15T01:00:55.437Z");

为了更好的可读性,您可以将JSON转换为Java对象,然后将其传递给Rest Assured。例如,您可以将其转换为Java集合,如下所示。这个过程称为序列化。

在底层,Rest Assured将使用像Jackson Data Bind这样的库来反序列化它,并随请求一起发送。

下面是可以使用的示例代码:
List<String> serviceProviderEmailList = new ArrayList<>();
serviceProviderEmailList.add("element1");
serviceProviderEmailList.add("element2");
HashMap<String, Object> rootJsonObject = new HashMap<>();
rootJsonObject.put("requestNumber", 749);
rootJsonObject.put("cardType", "value");
rootJsonObject.put("companyName", "value");
rootJsonObject.put("rejectMessage", "value");
rootJsonObject.put("contactEmail", "value");
rootJsonObject.put("serviceProviderEmailList", serviceProviderEmailList);
rootJsonObject.put("approvedBy", "value");
rootJsonObject.put("approvedDate", "value");
given().
body(rootJsonObject).
when().
post("endpoint");

请不要忘记在项目中添加Jackson Data绑定作为依赖项。例如,如果您正在使用Maven,您可以在pom.xml中添加如下内容。

<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.14.1</version>
</dependency>

最新更新