diff --git a/week07/mission/mission.md b/week07/mission/mission.md index a36b6b2..a8736a2 100644 --- a/week07/mission/mission.md +++ b/week07/mission/mission.md @@ -23,14 +23,14 @@ export const handleListUserMissionsInProgress = async (req, res) => { ``` -POST api (생성) +POST api (5주차 api) - 성공 시 201(CREATED) - 에러 발생 시 catch(err)로 들어옴 - catch 블록에서 next(err) 호출 시 Express가 전역 에러 핸들러로 이동(app.use) - 전역 에러 핸들러에서는 res.error(…)를 통해 클라이언트에 최종 JSON 응답 반환 -GET api (조회) +GET api (6주차 api) - 성공 시 200(OK) diff --git a/week08/keyword/keyword.md b/week08/keyword/keyword.md new file mode 100644 index 0000000..e9651f9 --- /dev/null +++ b/week08/keyword/keyword.md @@ -0,0 +1,30 @@ +## 🎯 핵심 키워드 + +- Swagger + + REST API를 문서화하고 테스트할 수 있게 도와주는 도구 + + 웹 UI 제공 → API 테스트 가능(Try-it-out 기능 제공으로 즉시 테스트 가능) + + OpenAPI 기반으로 동작 + +- OpenAPI + + REST API를 기술하기 위한 표준 스펙 + + JSON 또는 YAML로 API 정의 + + 엔드포인트, 파라미터, 응답, 인증 등 API 구조를 표준화 + +- OpenAPI Component + + OpenAPI 스펙에서 재사용 가능한 객체를 정의하는 영역 + + API 문서를 구조화하고 중복을 제거하기 위해 사용되며, 다른 경로(path)나 응답에서 `$ref`를 통해 쉽게 참조 가능 + + **주요 구성 요소** + + - **schemas**: 모델 정의 (User, Product, Error 등) + - **responses**: 공통 응답 정의 + - **parameters**: 반복되는 쿼리/패스 파라미터 정의 + - **securitySchemes**: JWT, API Key 등 인증 방식 정의 \ No newline at end of file diff --git a/week08/mission/mission.md b/week08/mission/mission.md new file mode 100644 index 0000000..4f5f06a --- /dev/null +++ b/week08/mission/mission.md @@ -0,0 +1,76 @@ +## 미션 기록 + +깃허브 링크: https://github.com/gpdnjs8/umc_mission/tree/feature/chapter-08 + +![스크린샷(252).png](https://github.com/user-attachments/assets/4422ec23-f121-4f8f-8845-16cf5b5d1eb7) + +## POST + +### 특정 지역에 가게 추가 API + +![스크린샷(254).png](https://github.com/user-attachments/assets/77ab14bd-f914-404e-ae56-5295adcd1b4b) + +![스크린샷(255).png](https://github.com/user-attachments/assets/eab97902-270a-4358-924b-c959ba89a73b) + +### 가게에 리뷰 추가 API + +![스크린샷(256).png](https://github.com/user-attachments/assets/623d98b0-fe3e-40f2-a42e-3702d5123aa3) + +![스크린샷(257).png](https://github.com/user-attachments/assets/9f6ca583-5ed4-4b08-9b62-10782cf01205) + +### 가게에 미션 추가 API + +![스크린샷(258).png](https://github.com/user-attachments/assets/46d1d3fb-4b92-4f97-93f7-af437c8f72fb) + +![스크린샷(259).png](https://github.com/user-attachments/assets/d167dcbc-1a06-480a-bd53-ac5957735c3f) + +### 가게의 미션을 도전 중인 미션에 추가 API + +![스크린샷(260).png](https://github.com/user-attachments/assets/cc512ccf-32bf-4ba2-89f9-410dd6aaa00f) + +![스크린샷(261).png](https://github.com/user-attachments/assets/44c5218d-e808-41c8-a650-f34249fcdce1) + +**실행 결과** + +성공 + +![스크린샷(275).png](https://github.com/user-attachments/assets/0a958ec1-7c13-4713-b4d4-10987948b451) + +실패(미션 존재x) + +![스크린샷(273).png](https://github.com/user-attachments/assets/36e47f45-5609-403a-9b52-9d1dcfcb38c0) + +실패(중복) + +![스크린샷(271).png](https://github.com/user-attachments/assets/fb26b208-bfe0-424c-9df5-5c8ba40a2fcc) + +## GET + +### 상점 리뷰 목록 조회 API + +![스크린샷(262).png](https://github.com/user-attachments/assets/3fd4ece1-1a9d-43d7-9400-2ff15b37691c) + +### 내가 작성한 리뷰 목록 조회 API + +![스크린샷(269).png](https://github.com/user-attachments/assets/4161f316-a417-46f8-be3e-b208d6e3d115) + +### 특정 가게의 미션 목록 조회 API + +![스크린샷(266).png](https://github.com/user-attachments/assets/e03fa28d-20c1-4e09-8d0c-6e5fd219c9f0) + +![스크린샷(267).png](https://github.com/user-attachments/assets/86fb5c5f-8ee0-4831-8d1e-c0959462686f) + +**실행 결과** + +성공 + +![스크린샷(277).png](https://github.com/user-attachments/assets/194db113-529f-42d1-b796-3867abfc5146) + +실패(가게 존재x) + +![스크린샷(278).png](https://github.com/user-attachments/assets/aca73f93-4949-4696-b828-32cd7037cec0) + +### 내가 진행 중인 미션 목록 조회 API + +![스크린샷(268).png](https://github.com/user-attachments/assets/663b7f09-8dc3-4312-abbc-7c503a074b10) +