![](/img/trans.png)
[英]How to send Request as Json Array in body for Post using REST Assured
[英]How to write array request body in rest assured
我用過rest assured framework,這是post方法的request body
{
"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 object,然后將其傳遞給 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 數據綁定作為依賴項。 例如,如果您使用的是 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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.