반응형

 

 

 

 

Rest Template를 이용하여 file type의 데이터를 POST 전송하는 소스입니다.

MultipartFile 파일을 resource()로 requestBody 담아야합니다.

@Controller
@RequestMapping(value = "/image-file")
public class ImageFileController{

	@Autowired
	private RestTemplate client;
	
	@RequestMapping(method = RequestMethod.POST)
	public @ResponseBody String uploadImage(@ModelAttribute MultipartFile uploadFile) {

		MultiValueMap<String, Object> requestBody = new LinkedMultiValueMap<>();
		requestBody.add("file", uploadFile.getResource());
        
        	String apiUrl = "http://www.apixxx.xx.xx";
        	HttpHeaders headers = new HttpHeaders();
        	headers.setContentType(MediaType.MULTIPART_FORM_DATA);
        
        	client.postForEntity(apiUrl, new HttpEntity<>(requestBody, headers), ResData.class).getBody();
        
		return "success";
	}
}

@Data //lombok
class ResData {
	private String code;
	private String value;
}

 

참고 사이트 : https://spring.io/blog/2009/03/27/rest-in-spring-3-resttemplate

 

REST in Spring 3: RestTemplate

<p>In an earlier <a href="http://blog.springsource.com/2009/03/08/rest-in-spring-3-mvc/">post</a>, I blogged about the REST capabilities we added to Spring @MVC version 3.0. Later, Alef <a href="http://blog.springsource.com/2009/03/16/adding-an-atom-view-t

spring.io

 

 

 

728x90
반응형

+ Recent posts