발단 : api가 개발은 됐는데 서버이슈로 요청을 못받는 경우엔 어떡해야할까

image.png

<aside>

→ MSW, PostMan을 이용한 방법이 있지만 우리는 두 가지 상황을 고려해야 했다.

<aside>

Next JS의 app routing을 이용한 mock api를 적용시키기로했다. 전체적인 과정은 아래

  1. 일단 우리팀이 api 요청하는 방식은 다음과 같음 특정 컴포넌트에서 넥스트 서버 / 로 api요청을 함 api routing 폴더로 요청이 감
  2. api route를 통해 handler로 method에 맞는 요청이 가게되고, 해당 파일에선 실 서버로의 요청을 진행
  3. 서버로의 요청에 대한 응답을 받은 경우 1→2→3 과정을 거꾸로 해 요청한 컴포넌트까지에게 전달함.
  4. 우린 2→3에서의 과정에서 문제가 생긴거니까 이 과정을 생략한다 how?
  5. api route에서 우리가 임의로 정한 응답을 주면 된다. 바로 알아보자.

</aside>

예시) 추천게시물 요청 mock api 적용

→ 보다시피 api 연결이 안되기에 mock데이터인 RECOMMEND_ARTICLES 와 카테고리의 경우 깡 text를 넣어 보여주고있음 아직 api를 통해 데이터를 받아오는 로직이 없는 상황

image.png

  1. 가장 먼저 해당 컴포넌트가 렌더링 될 경우 데이터를 받아오도록 하는 로직을 넣자

image.png

import { NextResponse } from 'next/server';

export async function GET(req: Request) {
  const data = await getRecommendPost(req);
  return NextResponse.json(data);
}

image.png