웹 개발 기초 강의를 들은지 2일차 만에 시작한 과제.
당초 계획은 챕터 4까지의 강의를 전부 들은 후에 과제를 시작하려고 했으나..
자고 일어나니 어제 들은 내용도 당장 기억이 나지않는다.
날 너무 믿었다..
그리하여 계획을 수정했다.
수정된 계획은 바로
과제에 해당하는 강의를 한번 듣고 과제 내용을 파악 후, 강의와 함께 과제를 수행하자!
내가 마주한 과제의 제목은 " 맛집 관리 API 설계하기"
"본 과제는 프론트엔드와 백엔드를 연결하는 API의 구조를 복습하고,
맛집 관리 API 명세서를 직접 설계하며, Postman으로 Mock 서버를 구축합니다."
??? 강의 없이 과제만 봤을 땐 이미 머리가 지끈거렸다.
"저게 도대체 무슨 소리야ㅠㅡㅜㅠㅡㅜㅠ" 라는 생각이 엄습해왔다.
하지만 "1주차 개린이(개발+어린이라는뜻ㅎ) 에게 못할 과제를 주진 않았겠지" 라고 스스로를 위로하며
강의를 틀어봤다.
약 1시간의 지끈거리는 머리를 싸매며 들은 수강 후..
자세한 이론과 강의 내용은 다른 카테고리에 작성하기로 하고 과제 내용부터 다뤄본다.
내가 느낀 핵심은 바로
API는 ‘내부 구현을 모르는 사람도 빠르게, 안전하게 쓸 수 있게 하는 것' 이 중요하며
'작동'하는 것을 넘어, '이해하기 편하게' 설계하는 것이 매우 중요하다라는 점과
모두가 이해하고 사용하기 쉽기 위해선 모두가 합의한 원칙이 중요하다.
이 원칙이 바로 REST API 이다.
원칙이 있다는 건 정해진 틀이 있다는 것이고 이는 곧 강의만 따라가면 나도 REST API를 구축할 수 있지 않을까?
하는 마음으로 과제를 함께 시작했다.
첫번째 과제
kakao Map 에서 명동교자 본점을 검색 한 후 개발자 도구로
https://place-api.map.kakao.com/places/panel3/1479300828’인 API를 찾았다.
Header 탭을 누르니 주르륵 쏟아져 내리는 정보들.
하나하나씩 뜯어보니 모든 정보들을 이해할 순 없지만 그 중 수업에서 배웠던 내용들이 몇몇 들어온다.
url, method, status code, content-type 들을 찾아내 한땀한땀 노션에 적어준다..
method GET
'난 카카오 맵에서 명동교자 매장의 정보를 조회하고자 했다는 뜻이구나.'
Status Code : 200 OK
'조회에 성공했고 그 코드로 200 ok 를 보내줬군.'
content-type 에 적힌 application/json
'서버에서 나에게 전송해준 데이터의 형식은 json 이구나.'
천천히 강의 내용을 곱씹으며 코드를 보니 눈이 아주 조금은 띄여졌다.
다음으로 preview 탭을 눌러보니 Header 와 비교 불가한 글자들이 폭포처럼 쏟아진다.
보고있으면 괴롭기에 바로 화살표를 뜯어본다.


몇몇 화살표들을 다시 제자리로 돌려줬다.
알록달록 신기한 코드들에 기절하기 직전, 읽을 수 있는 것들을 빠르게 찾아 간신히 정신을 붙잡아놨다.
자세히 살펴보니 전부다를 이해할 순 없지만 눈에 들어오기 시작하는 내용들.
name : - 1479300828번 장소의 실제 이름은 "명동교자 명동역점 신관 본점"
address 매장의 실제 주소
homepages : 매장 홈페이지
ai_mate: -ai 장소 요약
place_add_info: - 주차정보, 단체석 유무 등 매장 이용에 도움될 추가적인 상세 정보
phone_numbers: [{tel: "02-776-5559"}, {tel: "02-776-7384"}] - 매장 번호
regions: [{depth: 1, id: "I", name: "서울", simple_name: "서울"},…] - 매장 지역
road_view: {pano_id: "1208395233", pan: 351, tilt: -6, point: {lon: 126.98612392202904, lat: 37.560970643024476},…} - 로드뷰 상에서의 위도와 경도 추측(게임에서 본 것 같다)
등등등...어렵지 않고 직관적인 정보들은 반신반의하며 적어내려가 보았다.
컴퓨터의 언어는 이진법 0,1 밖에 없다고 알고 있었는데 각종 정보들을 사람들이 보기 편하게
아무 베이스도 없는 쌩초보인 나도 대충 훑어보고도 내용을 추측할 수 있는 json 형식의 위엄이 이런것일까..
다음 스텝은 바로 API 명세서 만들기.
postman을 이용해 직접 api 명세서를 만드는 것은
대충 훑어보고도 끄적일 수 있는 1번 과제와는 달랐다.
총 3개의 API 명세서를 만들어야 했는데
맛집 등록,전체 조회, 삭제 명세서였다.
이시기엔 벌써 강의를 3번째 돌려보는 중이었고 강의 내용을 각 명세서의 기능에 맞게
응용하며 MOCK 서버를 구축하고 각 method들을 이용한 API 명세서를 꾹꾹 눌러써보았다.
생성(POST) method 를 통한 맛집 등록 body

조회(GET) method 를 통한 맛집 전체 조회 body

삭제(DELETE) method 를 통한 맛집 삭제 body

간단해보이지만 쉽지 않은 구축 과정이었다.
띄어쓰기, 엔터 한번에 따라 오류가 발생하기 일쑤였고, 갈수록 집중력은 떨어져갔으나
포기하지 않고 차근차근 짚어나가서 제대로 작동하는 명세서를 만들어냈을 땐 뿌듯한 마음이 들었다.
아마 내일이 찾아오면 다시 기억들이 날아갈 것이 뻔하기에
반복 학습이 꼭 필요한 부분이라고 생각한다.
내일배움캠프 첫 과제 도전기는 여기서 마친다.
'Camp > 과제' 카테고리의 다른 글
| [Java] 계산기 과제 Lv.2 트러블 슈팅- 클래스 분리가 왜 이렇게 헷갈렸나 (0) | 2026.06.19 |
|---|---|
| [Java] 코드카타 트러블 슈팅 (0) | 2026.06.17 |
| Camp/과제[TIL] CH2 Java 계산기 과제 Lv.2 (트러블 슈팅) (0) | 2026.06.16 |
| [TIL] CH2 Java 계산기 과제 again (트러블 슈팅) (0) | 2026.06.15 |
| [TIL] CH2 Java 계산기 과제 (트러블 슈팅) (0) | 2026.06.12 |