Как получить содержимое тела (json), переданного в запросе POST, из объекта запроса или ответа, используя библиотеку Restassured? - PullRequest
0 голосов
/ 27 декабря 2018

Я пытаюсь прочитать содержимое, передаваемое в теле запроса POST, используя объекты RequestSpecification или Response библиотеки Restured.Я не смог найти какой-либо метод, который может вернуть переданное содержимое тела.Любая помощь?

public RequestSpecification Request(RequestSpecification rs)
{
    rs = RestAssured.given();
    if(APIConstants.BASEURL.contains("https")) {
        rs = rs.relaxedHTTPSValidation();
        rs.port(443);
    }       
    return rs;
}
public RequestSpecification postRequestBuilder(RequestSpecification rs,String Body)
{
    rs=Request(rs);
    rs = rs.contentType(APIConstants.contentType);
    if(Body!=null) {        
        rs = rs.body(Body); 
    }
    return rs;
}

public Response performPOSTOperation(RequestSpecification rs,String Resource, String TestParameters)
{
    Response rp=null;
    String url=BASEURL+"/"+Resource+"/"+TestParameters;
    System.Out.Println("Request is " +url);
    rp = rs.when().post(url);
           // I am trying to print Request body parameter here.
    System.Out.Println("Response is " +rp.asString());      
    return rp;
}
public void test(){                                                    
            String JSONBody="{"TestNumber":1}";
            RequestSpecification rs;
    rs= postRequestBuilder(rs,JSONBody);
    Response rp= performPOSTOperation(rs,RESOURCE,Service);
}

Я пытаюсь напечатать JSONBody, переданный в test () в PerformPOSTOperation ()

1 Ответ

0 голосов
/ 02 января 2019

Вы можете добавить .log в свой объект спецификации запроса:

rs.log(LogDetail.BODY);

или добавить фильтр - подробности @ https://static.javadoc.io/io.rest-assured/rest-assured/3.0.6/io/restassured/filter/log/RequestLoggingFilter.html

...