Backend/JAVA
[JAVA] CURL 로 다른 API 호출하는 방법 (with. HttpClient)
지구
2020. 12. 1. 15:01
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 통신하는 방법이 있었다. 끄적끄적 :)
반응형