[java] Java Play Framework에서의 웹 서비스 호출 방법은 어떻게 되나요?
Java Play Framework는 웹 애플리케이션을 개발하기 위한 강력한 프레임워크입니다. 웹 서비스와의 통신은 매우 중요한 부분이며, Play Framework에서는 다양한 방법을 제공합니다. 여기에서는 두 가지 일반적인 방법을 살펴보겠습니다.
- HTTPURLConnection을 사용한 웹 서비스 호출
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class WebServiceCaller {
public static String callWebService(String url) throws Exception {
// URL을 생성하고 연결합니다.
URL apiUrl = new URL(url);
HttpURLConnection conn = (HttpURLConnection) apiUrl.openConnection();
// HTTP 요청 방식 설정 (GET, POST 등)
conn.setRequestMethod("GET");
// 응답 코드 체크
if (conn.getResponseCode() != 200) {
throw new RuntimeException("Failed : HTTP error code : " + conn.getResponseCode());
}
// 응답 내용 읽기
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String output;
StringBuilder response = new StringBuilder();
while ((output = br.readLine()) != null) {
response.append(output);
}
// 연결 해제
conn.disconnect();
// 웹 서비스 응답 반환
return response.toString();
}
}
이 코드는 Java의 HttpURLConnection
을 사용하여 웹 서비스를 호출하는 기본 예제입니다. callWebService
메서드는 원하는 웹 서비스의 URL을 매개변수로 받고, 해당 URL로 GET 요청을 보내고 응답을 반환합니다.
- Play Framework의 WS API를 사용한 웹 서비스 호출
import play.libs.ws.*;
import play.libs.Json;
public class WebServiceCaller {
private final WSClient ws;
// Play Framework의 의존성 주입을 사용하여 WSClient를 인스턴스화합니다.
public WebServiceCaller(WSClient ws) {
this.ws = ws;
}
public CompletionStage<WSResponse> callWebService(String url) {
// 웹 서비스 호출
return ws.url(url)
.get()
.thenApply(response -> {
if (response.getStatus() != 200) {
throw new RuntimeException("Failed : HTTP error code : " + response.getStatus());
}
return response;
});
}
}
이 코드는 Play Framework의 WS
API를 사용하여 웹 서비스를 호출하는 예제입니다. callWebService
메서드는 원하는 웹 서비스의 URL을 매개변수로 받고, 해당 URL로 GET 요청을 보내고 응답을 반환합니다. CompletionStage
를 사용하여 비동기적으로 응답을 처리할 수 있습니다.
위의 두 가지 방법으로 Java Play Framework에서 웹 서비스를 호출하는 것은 매우 간단합니다. 자신에게 편리한 방식을 선택하여 개발하시면 됩니다.
참고 문서: