При ответе с сервера не полностью передаются значения полей в переменные

Хочу записать значения полей в переменные объекта класса Headers( соответствующее значение соответствующему полю). При получении респонса только некоторые поля корректно обрабатываются, остальные null. Почему так и как исправить? Не могу разобраться проблема в коде или конфликт зависимостей или черт знает что. введите сюда описание изображения package TestAPI;

 import com.fasterxml.jackson.annotation.JsonCreator;
   import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
   import com.fasterxml.jackson.annotation.JsonProperty;
   
   import java.beans.ConstructorProperties;
   
   public class Headers {
   
       @JsonProperty("x-forwarded-proto")
       public String xForwardedProto;
   
       @JsonProperty("x-forwarded-port")
       public String xForwardedPort;
   
       @JsonProperty("host")
       public String host;
   
       @JsonProperty("x-amzn-trace-id")
       public String xAmznTraceId;
   
       @JsonProperty("user-agent")
       public String userAgent;
   
       @JsonProperty("accept")
       public String accept;
   
       @JsonProperty("postman-token")
       public String postmanToken;
   
       @JsonProperty("accept-encoding")
       public String acceptEncoding;
   
       @JsonProperty("cookie")
       public String cookie;
   
       public Headers(String xForwardedProto, String xForwardedPort, String host, String xAmznTraceId, String userAgent, String accept, String postmanToken, String acceptEncoding, String cookie) {
           this.xForwardedProto = xForwardedProto;
           this.xForwardedPort = xForwardedPort;
           this.host = host;
           this.xAmznTraceId = xAmznTraceId;
           this.userAgent = userAgent;
           this.accept = accept;
           this.postmanToken = postmanToken;
           this.acceptEncoding = acceptEncoding;
           this.cookie = cookie;
       }
   
       public String getxForwardedProto() {
           return xForwardedProto;
       }
   
       public void setxForwardedProto(String xForwardedProto) {
           this.xForwardedProto = xForwardedProto;
       }
   
       public String getxForwardedPort() {
           return xForwardedPort;
       }
   
       public void setxForwardedPort(String xForwardedPort) {
           this.xForwardedPort = xForwardedPort;
       }
   
       public String getHost() {
           return host;
       }
   
       public void setHost(String host) {
           this.host = host;
       }
   
       public String getxAmznTraceId() {
           return xAmznTraceId;
       }
   
       public void setxAmznTraceId(String xAmznTraceId) {
           this.xAmznTraceId = xAmznTraceId;
       }
   
       public String getUserAgent() {
           return userAgent;
       }
   
       public void setUserAgent(String userAgent) {
           this.userAgent = userAgent;
       }
   
       public String getAccept() {
           return accept;
       }
   
       public void setAccept(String accept) {
           this.accept = accept;
       }
   
       public String getPostmanToken() {
           return postmanToken;
       }
   
       public void setPostmanToken(String postmanToken) {
           this.postmanToken = postmanToken;
       }
   
       public String getAcceptEncoding() {
           return acceptEncoding;
       }
   
       public void setAcceptEncoding(String acceptEncoding) {
           this.acceptEncoding = acceptEncoding;
       }
   
       public String getCookie() {
           return cookie;
       }
   
       public void setCookie(String cookie) {
           this.cookie = cookie;
       }
   
   }

введите сюда описание изображения

package TestAPI;
import dev.failsafe.internal.util.Assert;
import io.restassured.RestAssured;
import io.restassured.http.ContentType;
import io.restassured.response.Response;
import org.junit.jupiter.api.Test;

import java.lang.reflect.Type;
import java.util.List;

import static org.junit.jupiter.api.Assertions.*;

public class tests {

    private static String url = "https://postman-echo.com/get";

    @Test
    public void statusTestGet(){
        RestAssured
                .given()
                    .contentType(ContentType.JSON)
                    .baseUri(url)
                .when()
                    .get()
                .then()
                    .assertThat()
                    .statusCode(200);
    }

    @Test
    public void checkHeaderGet() {
        Headers header = RestAssured
                .given()
                .when()
                .contentType(ContentType.JSON)
                .get(url)
                .then()
                .extract().body().jsonPath().getObject("headers",Headers.class);
        System.out.println(header.getxForwardedProto());
        System.out.println(header.getxAmznTraceId());
        System.out.println(header.getxForwardedPort());
        System.out.println(header.getCookie());
        System.out.println(header.getHost());
        System.out.println(header.getAccept());
        System.out.println(header.getAcceptEncoding());

//        assertAll(
//                () -> assertEquals("https", header.getxForwardedProto(), "значение 'x-forwarded-proto' не совпадает"),
//                () -> assertEquals("443", header.getxForwardedPort(), "значение 'x-forwarded-port' не совпадает"),
//                () -> assertEquals("postman-echo.com", header.getHost(), "значение 'host' не совпадает"),
//                () -> assertEquals("*/*", header.getAccept(), "значение 'accept' не совпадает")
//                () -> assertNotNull(header.getxAmznTraceId(),"Поле 'x-amzn-trace-id' пустое"),
//                () -> assertNotNull(header.getPostmanToken(),"Поле 'postman-token' пустое"),
//                () -> assertNotNull(header.getCookie())
//                );
    }
}

введите сюда описание изображения сам респонс введите сюда описание изображения

{
    "args": {},
    "headers": {
        "x-forwarded-proto": "https",
        "x-forwarded-port": "443",
        "host": "postman-echo.com",
        "x-amzn-trace-id": "Root=1-65d08e3c-485b698d614df99204bd202f",
        "user-agent": "PostmanRuntime/7.36.3",
        "accept": "*/*",
        "postman-token": "79de093d-6bbe-4d88-93ea-5d5c63d8ffb3",
        "accept-encoding": "gzip, deflate, br"
    },
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>Lesson-16</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <version>3.6.1</version>
            <type>maven-plugin</type>
        </dependency>
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.10.1</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
            <version>2.15.2</version>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>4.17.0</version>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
            <version>5.10.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>io.rest-assured</groupId>
            <artifactId>rest-assured</artifactId>
            <version>5.4.0</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <properties>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
    </properties>

</project>

Ответы (0 шт):