Skip to content

Commit cf642c9

Browse files
authored
Update README.md
1 parent e816126 commit cf642c9

File tree

1 file changed

+11
-18
lines changed

1 file changed

+11
-18
lines changed

README.md

Lines changed: 11 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -35,21 +35,14 @@ https://developers.naver.com/docs/common/openapiguide/apilist.md#%EA%B2%80%EC%83
3535
(Open API 호출할때가 아니라) Open API 에서 가져온 데이터를 제한해서 제공
3636

3737

38-
## STEP03
39-
40-
1. Swagger 를 적용해본다. 
41-
2. 네이버 오픈 API 인증에 실패했을 때(RestTemplate 사용해서 호출하는 로직) 오류가 발생했을때 Exception (예외처리)를 구현해본다.
42-
- @RestControllAdvice, @ExceptionHandler 어노테이션을 활용해본다.
43-
3. 블로그, 영화 정보를 Open API 를 순차적으로 호출하는 방식이 아니라, 병렬 프로그래밍으로 동시에 호출해서 조합하는 방식으로 개선한다.
44-
- 예를 들어서, 1회 요청시 걸리는 시간이 100ms 라고 가정했을 때, 블로그와 영화를 순차적으로 호출하면 200ms 가 걸리지만, 병렬 처리로 100ms 안에 처리되도록 개선해본다.
45-
- 병렬 처리에 대한 쓰레드 설정도 별도로 추가해본다.
46-
4. 네이버 OpenAPI 에서 조회한 데이터를 엔드포인트(컨트롤러)에서 그대로 사용하지말고, 중간에서 DTO 객체로 매핑해서 처리한다.
47-
- 별도의 DTO 클래스를 정의해야 한다.
48-
- 매퍼 라이브러리를 사용하거나, 또는 다른 방식으로 자유롭게 데이터를 매핑해본다.
49-
5. 운영자에 의해 관리되는 "자주 검색되는 영화 쿼리" 정보를 사용해서 데이터를 제공해주는 API 를 심플하게 구현한다.
50-
- (요구사항이 명확하지 않으므로, 이 내용에 대해서는 스터디 시간에 한번더 논의할 예정)
51-
- "자주 검색되는 쿼리"를 관리하는 RestAPI 엔드포인트를 생성한다.
52-
- POST, GET, DELETE, PUT 등의 메서드를 활용해본다.
53-
- "자주 검색되는 쿼리"는 애플리케이션 메모리에 저장한다.(휘발성)
54-
- 저장하는 자료구조는 자유롭게하면 된다. 단, 심플하고 빠르게 개발하도록 하자.
55-
- "자주 검색되는 데이터"를 사용자에게 제공하는 신규 Controller 를 구현한다.
38+
39+
# STEP 03 (스터디하시는 분들의 부담을 줄여보고자 STEP03 은 가볍게 구성했습니다..)
40+
41+
## 필수 요구사항(필수 요구사항을 구현하면 PR 보내도 됨)
42+
1. 영화 데이터 조회 시 디폴트로 평점 높은 순으로 정렬(Sort)해서 제공한다.
43+
2. 영화 데이터 조회 시 디폴트로 평점이 0.0 인 경우는 제외하고 제공한다.
44+
3. 네이버 오픈 API 인증 실패 시 Exception(예외처리)를 구현한다.(@RestControllAdvice, @ExceptionHandler 어노테이션을 활용해본다.)
45+
46+
## 선택 요구사항(시간 여유 있으신 분들만 해주세요)
47+
1. 통합검색 API에서 블로그, 영화 조회 시 순차호출 방식이 아닌 병렬 프로그래밍으로 동시에 호출해서 데이터를 조합한다.
48+
2. DTO를 정의해서 데이터를 매핑한다. (예) 네이버 블로그 OpenAPI 에 조회하는 응답 Response Type 클래스가 Blog 라고 가정하면, 신규 클래스인 BlogDTO 클래스를 정의하고, 네이버 OpenAPI 를 통해서 가져온 데이터를 BlogDTO 에 매핑해서 사용한다.

0 commit comments

Comments
 (0)