Java 无法在控制台上打印api响应

Java 无法在控制台上打印api响应,java,eclipse,rest-assured,testng-dataprovider,Java,Eclipse,Rest Assured,Testng Dataprovider,出于某种原因,当我尝试使用响应正文的print语句打印响应时,系统不会打印。请帮忙 在下面的API文章中,我正在EclipseNeon3上使用Java,放心,TestNG。使用@DataProvider注释,我在Post请求中传递多个参数以查看调用的响应。任何帮助都将不胜感激 package com.auto.restassured; import io.restassured.RestAssured; import static io.restassured.RestAssured.basi

出于某种原因,当我尝试使用响应正文的print语句打印响应时,系统不会打印。请帮忙

在下面的API文章中,我正在EclipseNeon3上使用Java,放心,TestNG。使用@DataProvider注释,我在Post请求中传递多个参数以查看调用的响应。任何帮助都将不胜感激

package com.auto.restassured;

import io.restassured.RestAssured;
import static io.restassured.RestAssured.basic;
import static io.restassured.RestAssured.given;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import io.restassured.response.Response;
import org.apache.log4j.Logger;
import org.apache.log4j.BasicConfigurator;


public class FilePostToVirusTotal {


static String baseURL = "https://www.virustotal.com/vtapi/v2/file/report";
Response myResponse;


@DataProvider(name = "md5hashes")
public String[][] createMd5Hashes() {

    return new String[][]  {

        {"md51", "c1105fb75bc00b5e487f7b26a5be7088"},
        {"md52", "213f3287c81d09b095334c9f3151cff8"},
        {"md53", "b00c2c458b4cf1eb172e354f54f0fe12"},
        {"md54", "32ac9b6b6b7cdbfce179acc5edae98c3"},
        {"md55", "510b0b81b85c025d538ed4bad78dc64f"},

    };

}

@Test(dataProvider = "md5hashes")
public void md5JsonTest(String apikey, String resource)
{

    //Catch API response
    myResponse = given().param("text", resource).param("text", "34b937e6e2d28ee6f93a70392d958de8ac4a8dd842e08bbca9bcb0d22f9b9960").when().post(baseURL);
    //Print Response
    System.out.println(myResponse.getBody().asString());

}

}

您可以使用内置的日志方法,例如请求时使用
given().log().all()
,响应时使用
then().log().all()

public class Request {

    public static void main(String[] args) {

    RestAssured.baseURI="http://dummy.restapiexample.com";
    given().    
    //queryParam("key","AIzaSyDIQgAh0B4p0SdyYkyW8tlG-y0yJMfss5Y").
    body("{\"name\":\"test111\",\"salary\":\"123\",\"age\":\"23\"}").
    when().
    post("/api/v1/create").
    then().assertThat().statusCode(200).and().contentType(ContentType.JSON).and()
    .body("status",equalTo("success")).log().body();
    System.out.println("Done");
    }

}
结果:

{
    "status": "success",
    "data": {
        "name": "test111",
        "salary": "123",
        "age": "23",
        "id": 65
    }
}
Done

它根本不打印,或者它不打印你期望的内容?该方法正在运行吗?您在调试器中确认了吗?我在方法和print语句之后打开了调试器。它没有任何作用。然而,该方法是发布请求,但在响应时没有打印任何内容。当我使用邮递员手动执行时,它会做出响应。响应是什么?请检查myResponse.getStatus()--只有当您的ResponseBook为空时,才会发生这种情况。非常感谢。我做了响应。getstatusCode()。它打印了403,这意味着禁止访问我请求访问的站点。既然这是表格,我应该用apikey检查一下吗?但是当我用同样的apikey手动与邮递员联系时,我能够得到响应!很奇怪,我无法得到回复。有什么想法吗?可以使用.log.all()而不是log().body()-->来获取所有详细信息响应端口io.restassured.restassured;导入io.restassured.http.ContentType;导入静态org.hamcrest.Matchers.equalTo;导入静态io.restassured.restassured.given;