picocontainer не передает данные - PullRequest
0 голосов
/ 24 января 2019

У меня есть файл службы impl, который заполняет DTO и файл конечной точки REST, который выдает POST и помещает ответ в переменную.Я могу распечатать содержимое DTO в файле конечной точки, но не могу напечатать данные ответа в файле службы impl с помощью Picocontainer DI.Вот подробности файла

// Endpoint File that does the POST and can correctly display the DTO details
// via Picoconntainer DI
        import com.constantcontact.xyzreachsvc.domain.xyzPostDto;
        import io.restassured.RestAssured;
        import io.restassured.builder.RequestSpecBuilder;
        import io.restassured.internal.RestAssuredResponseImpl;
        import utilities.TestLogger;


        public class xyzPostEndpoint extends RestAssured {

        private RequestSpecBuilder request ;

        private RestAssuredResponseImpl response;



        private xyzPostDto xyzPostDto;


            public xyzlPostEndpoint(
                    RequestSpecBuilder request,
                    RestAssuredResponseImpl response,
                    xyzPostDto xyzPostDto) {

                this.response = response;

                this.xyzPostDto = xyzPostDto;

                RestAssured.enableLoggingOfRequestAndResponseIfValidationFails();

                this.request = request;

            }

            public void xyzPostPostMethod() {

                RestAssured.enableLoggingOfRequestAndResponseIfValidationFails();

                TestLogger.info("*************************Starting the POST*************************");

                response = (RestAssuredResponseImpl) given().spec(request.build()).when().post();

                System.out.println("*****************>"+xyzPostDto.getMessage());//Get the correct string here
                System.out.println("*****************>>"+xyzPostDto.getImageUrl());

                System.out.println("*****************>"+response.getStatusCode());//Get 200 here
                System.out.println("*****************>>"+response.getBody().asString());
     }
}

Файл службы Impl

Вот в чем проблема.Это не в состоянии получить данные ответа из файла конечной точки выше.Он печатает -1 в качестве кода состояния, а попытка распечатать тело дает мне NPE.

public class xyzPostImpl implements xyzPostI {
    private xyzPostDto xyzPostDto;
    private BuildRequest buildRequest;
    private xyzPostEndpoint xyzPostEndpoint;
    private RestAssuredResponseImpl response;


    public xyzPostImpl(xyzPostDto xyzPostDto,
                          BuildRequest buildRequest,
                          xyzPostEndpoint xyzPostEndpoint ,
                          RestAssuredResponseImpl response
    ){
        this.xyzPostDto = xyzPostDto;
        this.buildRequest = buildRequest;
        this.xyzPostEndpoint = xyzPostEndpoint;
        this.response = response;
    }

    public void buildxyzlPostDto(String imageUrl, String message,
                                            List<String> networkIds ){

        xyzPostDto.setImageUrl(imageUrl);

        xyzPostDto.setMessage(message);

        xyzPostDto.setNetworkIds(networkIds);

    }

    public void buildxyzPostDtoRequest(){

        buildRequest.buildRequest(xyzPostDto);

    }

    public void issuexyzPostDtoPost(){

        xyzlPostEndpoint.xyzPostPostMethod();

    }

    public Boolean verifyResponseCode(Integer responseCode){
        Boolean expectedResponseCode = false;
        System.out.println("RESPONSE code = *******************************"+response.getStatusCode());//< get -1 here
        if(response.getStatusCode() == responseCode) {
            expectedResponseCode = true;
        }
        return expectedResponseCode;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...