요구사항
https://pokeapi.co/api/v2/pokemon/{포켓몬아이디번호}
로 디테일 정보를 받아올 모델을 만드시오.
받아와서 사용될 데이터는 포켓몬이름, 몸무게 등 이다.
뒤에 대충 아무 숫자나 넣고 url창에 넣어보았지만 데이터가 방대해서 pretty print로 보여주어도 초보자에게는 제공하는 키값과 데이터가 어떤 구조인지 잘 안보인다.
이럴 때 API응답을 간략화하거나 필요한 정보만 추출하는 방법이 있다.
터미널 열기
cmd
+ space
> 터미널
brew install jq
입력
curl https://pokeapi.co/api/v2/pokemon/22 | jq 'keys'
입력
[
"abilities",
"base_experience",
"cries",
"forms",
"game_indices",
"height",
"held_items",
"id",
"is_default",
"location_area_encounters",
"moves",
"name",
"order",
"past_abilities",
"past_types",
"species",
"sprites",
"stats",
"types",
"weight"
]
위와 같이 JSON의 최상위 Key만 보기 편하게 추려준다.
예제사진과 대조하여 유추해보면 내게 필요한 key값은
id, name, types, height, weight일 것이다.
이를 토대로 api통신을 위한 구조체를 작성한다.
struct PokemonDetailResponse: Codable {
let id: Int
let name: String
let types: [TypeElement]
let height: Double
let weight: Double
}
너무 편하다