Camp/과제

[TIL]웹개발 기초 과제 맛집 관리 API

taeri7204 2026. 5. 29. 20:57

웹 개발 기초 강의를 들은지 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 

 

 

간단해보이지만 쉽지 않은 구축 과정이었다. 

띄어쓰기, 엔터 한번에 따라 오류가 발생하기 일쑤였고, 갈수록 집중력은 떨어져갔으나

포기하지 않고 차근차근 짚어나가서 제대로 작동하는 명세서를 만들어냈을 땐 뿌듯한 마음이 들었다. 

 

아마 내일이 찾아오면 다시 기억들이 날아갈 것이 뻔하기에 

 

반복 학습이 꼭 필요한 부분이라고 생각한다.

 

내일배움캠프 첫 과제 도전기는 여기서 마친다.