Java/Excercise

dataStructure ch02 HttpMainTest5

낭구리 2021. 9. 14. 17:52
package ch02;

import java.io.BufferedReader;

import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

import com.google.gson.Gson;

public class HttpMainTest5 {
	public static void main(String[] args) {
//실무 ****
		try {
			URL url = new URL("https://jsonplaceholder.typicode.com/users/10");
			HttpURLConnection connection = (HttpURLConnection) url.openConnection();// 연결메서드
			// HttpURLConnection 대문자이기때문에 클래스

			connection.setRequestMethod("GET"); // <>post(공개) get(비밀)
			connection.setRequestProperty("Content-type", "application/json"); // json타입으로 부르기위해
			connection.connect();

			int statusCode = connection.getResponseCode(); // 잘못나온다면 404라는 코드를 내보내게된다.(주소가잘못될경우)
			System.out.println("statusCode:" + statusCode); // 정상 작동하여 200이라는 코드를 내보내게됨.

			BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));

			StringBuffer sb = new StringBuffer();
			// String만 쓰면 메모리를 계속사용해서 스트링버퍼사용
			// String만쓰면 객체가 계속생성
			String line = null;

			if (statusCode == 200) {
				while ((line = reader.readLine()) != null) {
					sb.append(line);
				}
			} else {
				System.out.println("서버에 연결 할 수 없습니다.");
			}

			String str = sb.toString(); // 문자열로 변환
			Gson gson = new Gson();
//			Todo todo = gson.fromJson(str, Todo.class);
			User users = gson.fromJson(str, User.class);
			System.out.println(users.getAddress().getCity());
			System.out.println(users.getName());
			System.out.println(users.getUsername());
			System.out.println(users.getEmail());
			System.out.println(users.getAddress());
			System.out.println(users.getPhone());
			System.out.println(users.getWebsite());
			System.out.println(users.getCompany());

			
			
			
			
			
//			System.out.println(str);
//			System.out.println("----");
			//인덱스번호로 무엇이있는지 확인하는 과정
//			System.out.println(str.substring(4, 10)); //userId
//			System.out.println(str.substring(13, 14)); //1
//			
//			Todo todo = new Todo();
//			todo.id = str.substring(13, 14); //형변환도해야됨
			

		} catch (MalformedURLException e) {
			e.printStackTrace();
		} catch (IOException e) {
			// TODO: handle exception
		}
	}
}

 

package ch02;


public class Address {

    private String street;

    private String suite;

    private String city;

    private String zipcode;

    private Geo geo;

    public String getStreet() {
        return street;
    }

    public void setStreet(String street) {
        this.street = street;
    }

    public String getSuite() {
        return suite;
    }

    public void setSuite(String suite) {
        this.suite = suite;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getZipcode() {
        return zipcode;
    }

    public void setZipcode(String zipcode) {
        this.zipcode = zipcode;
    }

    public Geo getGeo() {
        return geo;
    }

    public void setGeo(Geo geo) {
        this.geo = geo;
    }

}

 

package ch02;



public class Company {


    private String name;
    private String catchPhrase;
    private String bs;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getCatchPhrase() {
        return catchPhrase;
    }

    public void setCatchPhrase(String catchPhrase) {
        this.catchPhrase = catchPhrase;
    }

    public String getBs() {
        return bs;
    }

    public void setBs(String bs) {
        this.bs = bs;
    }

}

 

package ch02;



public class Geo {


    private String lat;
    private String lng;
    public String getLat() {
        return lat;
    }

    public void setLat(String lat) {
        this.lat = lat;
    }

    public String getLng() {
        return lng;
    }

    public void setLng(String lng) {
        this.lng = lng;
    }

}

 

package ch02;



public class User {

    private Integer id;
    private String name;
    private String username;
    private String email;
    private Address address;
    private String phone;
    private String website;
    private Company company;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public Address getAddress() {
        return address;
    }

    public void setAddress(Address address) {
        this.address = address;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getWebsite() {
        return website;
    }

    public void setWebsite(String website) {
        this.website = website;
    }

    public Company getCompany() {
        return company;
    }

    public void setCompany(Company company) {
        this.company = company;
    }

}

 

'Java > Excercise' 카테고리의 다른 글

dataStructure ch02 HttpMainTest2  (0) 2021.09.14
dataStructure ch02 HttpMainTest1  (0) 2021.09.14
dataStructure ch02 JSON이란?  (0) 2021.09.14
dataStructure ch01 DataStructureTest3  (0) 2021.09.14
dataStructure ch01 DataStructureTest2  (0) 2021.09.14