본문 바로가기
Backend/JAVA

[JAVA] CURL 로 다른 API 호출하는 방법 (with. HttpClient)

by 지구 2020. 12. 1.

Java + Spring framework 에서 CURL 처럼 리턴 받을 데이터 없이 다른 API 를 호출 할 일이 생겼다.

 

일반 Http 통신을 하기보다는 CURL 처럼 쓕 보내보고 싶었는데,
생각만큼 소스를 가볍게 짜기엔 어려운 것 같았고 아래가 최선이었다.

public void sendOtherApi(Object sendObj) {
	try {
		// POST 메소드 URL 생성 & header setting
		HttpClient client = HttpClientBuilder.create().build();
		HttpPost postRequest = new HttpPost("http://localhost:8080/test/curlConnect");
		postRequest.setHeader("Accept", MediaType.APPLICATION_JSON_VALUE);
		postRequest.setHeader("Connection", "keep-alive");
		postRequest.setHeader("Content-Type", MediaType.APPLICATION_JSON_VALUE);

		// post body setting
		ObjectMapper mapper = new ObjectMapper();
		postRequest.setEntity(new StringEntity(mapper.writeValueAsString(sendObj)));

		// CURL execute
		client.execute(postRequest);
        
	} catch (Exception e){
		log.error(ExceptionUtils.getStackTrace(e));
	}
}

위와 같이 HttpClient 와 HttpPost 로 POST 통신하는 방법이 있었다. 끄적끄적 :)

반응형

댓글