20. (네트워크) UserApp 만들기

박은서's avatar
Dec 19, 2025
20. (네트워크) UserApp 만들기

메서드

package com.mtcoding.ex11; import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; // 책임 : 저장소(다른 사람 서버, HDD, DB)에서 데이터 가져오기 public class Repository { // 책임 : 통신에서 다운로드하는 책임 public String download(String site) throws Exception { // 1. 소켓 연결 완료 URL url = new URL(site); HttpURLConnection socket = (HttpURLConnection) url.openConnection(); // 2. 읽기 버퍼 연결 BufferedReader br = new BufferedReader( new InputStreamReader(socket.getInputStream()) ); // 3. 다운로드 String json = ""; while (true) { String line = br.readLine(); // 값이 없으면 null을 준다. if (line == null) break; json = json + line; // if를 위에 안하면 {}null이 붙어서 파싱이 제대로 안 될 수도 있음 } return json; } }

UserApp (User 클래스 + UserApp main)

package com.mtcoding.ex11; import com.google.gson.Gson; import lombok.Getter; import lombok.Setter; @Setter @Getter class User { private Integer id; private String name; private String username; private String email; private String phone; private String website; private Company company; @Setter @Getter public static class Company { private String name; private String catchPhrase; private String bs; } } public class UserApp { public static void main(String[] args) { try { // 1. 다운로드 Repository download() Repository repo = new Repository(); String json = repo.download("https://jsonplaceholder.typicode.com/users/1"); // 2. 다운로드 확인 // System.out.println(); // 3. User 클래스 완성하기 // 4. 오브젝트로 변환 (json -> User) - gson 필요 Gson gson = new Gson(); User user = gson.fromJson(json, User.class); // 5. 변환 확인 // System.out.println(); // 6. 콘솔에 유저정보 출력 System.out.println("ID : " + user.getId()); System.out.println("Name : " + user.getName()); System.out.println("UserName : " + user.getUsername()); System.out.println("E-mail : " + user.getEmail()); System.out.println("Phone : " + user.getPhone()); System.out.println("WebSite : " + user.getWebsite()); System.out.println("CompanyName : " + user.getCompany().getName()); System.out.println("CompanyCatchPhrase : " + user.getCompany().getCatchPhrase()); System.out.println("CompanyBs : " + user.getCompany().getBs()); } catch (Exception e) { e.printStackTrace(); } } }
notion image
Share article