Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions week07/mission/mission.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand Down
30 changes: 30 additions & 0 deletions week08/keyword/keyword.md
Original file line number Diff line number Diff line change
@@ -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 등 인증 방식 정의
76 changes: 76 additions & 0 deletions week08/mission/mission.md
Original file line number Diff line number Diff line change
@@ -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)