Search code examples
seleniumselenium-webdriverrest-assuredrest-assured-jsonpath

How to Post the below request using RestAssured in selenium


How to POST the below request using RestAssured in selenium.

The request is as follows:

{
  "ShipmentID": "",
 "ShipmentNumber": "123455-6", 
 "Comments": "",
 "LineIDs": [
    {
  "ShipmentDID": "",  
  "AssetNum": "759585",
  "FileC": "",
  "SerialN": "",
  "LineID": "5",
  "Status": "Accept",
  "TransferCancelComment": ""
}

Below is the code I have used but not sure how should i continue for the "LineID's" as it has few more attributes in it.

@Test
 public void TransferIn() {

  RestAssured.baseURI="testurl.rest.com";
  RequestSpecification httpRequest = RestAssured.given();
  JSONObject requestparams=new JSONObject();
  try {
      requestparams.put("ShipmentID", "");
      requestparams.put("ShipmentNumber", "123455-6");
      requestparams.put("Comments", "");
      requestparams.put("LineIDs", "");

  }

Solution

  • Hope below code will solve your problem.

        @Test
        public void TransferIn() {
            RestAssured.baseURI="testurl.rest.com";
            RequestSpecification httpRequest = RestAssured.given();
            JSONObject requestparams = new JSONObject();
            JSONArray lineIdsArray = new JSONArray();
            JSONObject lineIdObject = new JSONObject();
            try {
                requestparams.put("ShipmentID", "");
                requestparams.put("ShipmentNumber", "123455-6");
                requestparams.put("Comments", "");
    
                lineIdObject.put("ShipmentDID", "");
                lineIdObject.put("AssetNum", "759585");
                lineIdObject.put("FileC", "");
                lineIdObject.put("SerialN", "");
                lineIdObject.put("LineID", "5");
                lineIdObject.put("Status", "Accept");
                lineIdObject.put("TransferCancelComment", "");
                lineIdsArray.put(lineIdObject);
    
                requestparams.put("LineIDs", lineIdsArray);
            } catch (JSONException e) {
    
            }
            System.out.println(requestparams);
    }