簡體   English   中英

rest中如何寫數組請求體放心

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM