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 |