이 글에서는 Java를 사용하여 웹 서비스와 통신하는 방법에 대해 알아보겠습니다. 웹 서비스 통신은 RESTful API를 이용하고 JSON 데이터를 파싱하는 과정을 다룰 예정입니다.
RESTful API란?
REST는 Representational State Transfer의 약자로, 웹 서비스의 리소스를 다루기 위한 아키텍처 스타일입니다. RESTful API는 이러한 REST 원칙에 따라 설계된 웹 서비스를 의미합니다. RESTful API를 사용하면 클라이언트와 서버 간의 통신을 간단하고 효율적으로 할 수 있습니다.
HTTP 통신
Java에서 웹 서비스와 통신하기 위해서는 HTTP 프로토콜을 사용해야 합니다. Java 내장 라이브러리인 java.net
패키지를 사용하여 HTTP 요청을 보내고 응답을 받을 수 있습니다.
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class HttpCommunication {
public static void main(String[] args) {
try {
URL url = new URL("http://api.example.com/users");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
int responseCode = connection.getResponseCode();
System.out.println("Response Code: " + responseCode);
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line;
StringBuilder response = new StringBuilder();
while ((line = reader.readLine()) != null) {
response.append(line);
}
reader.close();
System.out.println("Response: " + response.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
위의 예제 코드는 GET 요청을 보내는 방법을 보여줍니다. 요청한 URL에 따라 다양한 HTTP 메소드(GET, POST, PUT, DELETE)를 사용할 수 있습니다.
JSON 파싱
웹 서비스에서 주로 사용되는 데이터 형식 중 하나인 JSON은 Java에서 다루기 쉽고 유연한 형태입니다. JSON 데이터를 파싱해서 원하는 정보를 추출할 수 있습니다. Java에서는 org.json
라이브러리를 사용하여 JSON 데이터를 파싱할 수 있습니다.
import org.json.JSONArray;
import org.json.JSONObject;
public class JsonParsing {
public static void main(String[] args) {
String jsonStr = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";
JSONObject jsonObject = new JSONObject(jsonStr);
String name = jsonObject.getString("name");
int age = jsonObject.getInt("age");
String city = jsonObject.getString("city");
System.out.println("Name: " + name);
System.out.println("Age: " + age);
System.out.println("City: " + city);
}
}
위의 예제 코드는 JSON 문자열을 JSONObject로 변환한 후, 키를 통해 값을 추출하는 방법을 보여줍니다.
마치며
Java를 사용하여 웹 서비스와 통신하는 방법에 대해 알아보았습니다. RESTful API를 사용하고 JSON 데이터를 파싱하는 방법을 숙지하면 다양한 웹 서비스와의 상호작용에 유용하게 사용할 수 있습니다. Java에서는 다양한 라이브러리와 기능을 제공하므로 필요한 경우 해당 문서를 참조하여 더 자세한 내용을 학습할 수 있습니다.