복붙노트

[SPRING] 멀티 파트 파일로 휴식 서비스 테스트를 시도합니다.

SPRING

멀티 파트 파일로 휴식 서비스 테스트를 시도합니다.

내가 만든 휴식 서비스를 테스트하려고합니다. 이 서비스는 게시물입니다.

확실히 작동하지 않는 서비스. 하지만 내가 쉬는 서비스를 부를 때. 나는 jpg를 포함한 몇 가지 값으로 전달되는 간단한 폼을 가지고있다.

여기에 코드가 있습니다.

HttpMessageConverter bufferedIamageHttpMessageConverter =   new ByteArrayHttpMessageConverter();
restTemplate.postForObject("http://localhost:8080/sendScreeenAsPostCard",  uploadItem.getFileData(),  String.class));

내 메소드 서명은 다음과 같습니다.

ResultStatus sendScreenAsPostcard( @RequestParam MultipartFile image, @RequestParamString userId) 

그것은 내가 얻고있는 오류입니다.

해결법

  1. ==============================

    1.특정 콘텐츠 형식 헤더, 본문 매개 변수 등을 요구하는 파일 업로드를 시뮬레이트해야합니다. 이와 같은 방법이 트릭을 수행해야합니다.

    특정 콘텐츠 형식 헤더, 본문 매개 변수 등을 요구하는 파일 업로드를 시뮬레이트해야합니다. 이와 같은 방법이 트릭을 수행해야합니다.

    // Fill out the "form"...
    MultiValueMap<String, Object> parameters = new LinkedMultiValueMap<String, Object>();
    parameters.add("file", new FileSystemResource("file.jpg")); // load file into parameter
    parameters.add("blah", blah); // some other form field
    
    // Set the headers...
    HttpHeaders headers = new HttpHeaders();
    headers.set("Content-Type", "multipart/form-data"); // we are sending a form
    headers.set("Accept", "text/plain"); // looks like you want a string back
    
    // Fire!
    String result = restTemplate.exchange(
        "http://localhost:8080/sendScreeenAsPostCard",
        HttpMethod.POST,
        new HttpEntity<MultiValueMap<String, Object>>(parameters, headers),
        String.class
    ).getBody();
    
  2. from https://stackoverflow.com/questions/7003045/attempting-to-test-rest-service-with-multipart-file by cc-by-sa and MIT license