api response in body code example

Example 1: request body api

REQUEST :(request url,http methods,header,query param, param,body,cookie)

1-)Request Url where we have Endpoint (domain:Port/Endpoints)

2-)HTTP METHODS(Get, Post, Put, Patch, Delete, Header)

Get: For to retrieve resources from the server
Post: to send or add resource to the server
Put: For update the resources in the server
Patch: For partial update the resource
Delete: For deleting the resource in the server
Head: To get header from the response not the body

3-)HEADER is metadata is about the request,
basically providing more information along
with the request.

-Content Type header : to specify what kind of
 data we are sending to the server
-Accept Header : to specify what kind of data 
 format you want to get in the response like (json or xml)
-Authorization header : used to provide the
 Bearer token in many api's.

4-)Query Parameter: A key value pair usually
 for filtering result

5-)Parameter: for identifying single resource
 among the list of resources.
6-)Payload(BODY): for POST,PUT,PATCH request
(json,xml,plainText,URL encoded for data)
7-)Cookie

Example 2: response body api

Basicall we are checking response body
to verify if request matches with response.
In the response we are verifying
(body, status code, header, response time,
 test structure of json against the given jsonSchema)
 
 
If file not under resources: 
File schemaFile = new File("src/test/resources/postSuccessResponseSchema.json");

     given()
        .spec(adminReqSpec)
        .contentType(ContentType.JSON)
        .body(abcUtil.getRandomHeroPOJO_Payload()).
     when()
        .post("/HEROS").
     then()
        .body(matchesJsonSchema( schemaFile )  ) 
        
        
If schema file under resources:
  given()
      .spec(adminReqSpec)
      .queryParam("nameContains","a")
      .queryParam("gender","Female").
  when()
      .get("/abc/search").
 then()
 	  .time( lessThan(2000L));	
      .body(matchesJsonSchemaInClasspath("searchSpartanSchema.json") )