Как отправить MultiPart в пользовательский объект с RestTemplate - PullRequest
1 голос
/ 10 января 2020

У меня есть пользовательский объект BasicDetailDomain, который имеет свойства, включая Multipart. Требование заключается в вызове API с RestTemplate.

  @PostMapping(value = "/postbasicdetails")
    public ResponseEntity<ActionResponse<?>> postBasicDetails(BasicDetailDomain details) throws 
    IOException{

    //logic here 

    }

    Here is my Code 

BasicDetailDomain basicDetailDomain = createBasicdetails(); 
    HttpEntity<BasicDetailDomain> entity = new HttpEntity(basicDetailDomain, headers);
    ResponseEntity<Object> response = 
    restTemplate.exchange(formFullURLWithPort(port,"/rpa/postbasicdetails"),HttpMethod.POST, entity, 
    Object.class); 
    assertEquals(HttpStatus.SC_INTERNAL_SERVER_ERROR, response.getStatusCode().value());




   //createBasicdetails
   private BasicDetailDomain createBasicdetails()
    {
    MultipartFile multipartFile = null;
    try {
    multipartFile = new MockMultipartFile("payterm.xlsx", new FileInputStream(new 
    File("src/test/resources/payterm.xlsx")));
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    BasicDetailDomain basicDetailDomain = new BasicDetailDomain();
    basicDetailDomain.setClientID("oooo");
    basicDetailDomain.setEnvironment("UAT");
    basicDetailDomain.setPassword("kkk");
    basicDetailDomain.setUsername("mmmm");
    basicDetailDomain.setUseCaseID("uuuu");
    basicDetailDomain.setFile(multipartFile);
    return basicDetailDomain;
    }

На стороне контроллера каждое свойство становится нулевым, а когда я передаю свойства в Queryparm, оно отражается на контроллере. Не в состоянии понять, что происходит.

...