TIL #8 REST API

eunseo·2021년 12월 30일
0

TIL

목록 보기
8/9

문제원인: 메인 페이지 조회로(API 하나) 데이터들을 한번에 내려줬다. 한번에 주는 것이 프론트에서 편할 것이라고 생각했다. 하지만 이렇게 되면 REST API에 맞지 않아 수정이 필요했다.

{
  "popularSeriesList": [
    {
      "isLiked": false,
      "userId": 2,
      "writerId": 1,
      "seriesId": 4,
      "nickname": "책러브",
      "thumbnail": "https://monthsub-image.s3.ap-northeast-2.amazonaws.com/series/1/thumbnail/0605ed46-3561-4e2b-a331-1a6514ec807a.jpg",
      "title": "인생의 정답은 없습니다",
      "introduceSentence": "인생의 정답은 없습니다. 당신은 뒤쳐지지 않았습니다",
      "seriesStartDate": "2022-12-01",
      "seriesEndDate": "2022-12-30",
      "subscribeStatus": "SUBSCRIPTION_AVAILABLE",
      "subscribeStartDate": "2021-11-01",
      "subscribeEndDate": "2021-11-30",
      "likes": 3,
      "category": "ESSAY"
    },
    {
      "isLiked": false,
      "userId": 4,
      "writerId": 3,
      "seriesId": 2,
      "nickname": "김작가",
      "thumbnail": "https://monthsub-image.s3.ap-northeast-2.amazonaws.com/series/2/thumbnail/588def78-fa1c-47cb-aea5-c2aabca577c3.gif",
      "title": "칠흙같은 어둠",
      "introduceSentence": "칠흙같은 어둠, 별에 대한 글. ",
      "seriesStartDate": "2022-12-01",
      "seriesEndDate": "2022-12-30",
      "subscribeStatus": "SUBSCRIPTION_AVAILABLE",
      "subscribeStartDate": "2021-11-01",
      "subscribeEndDate": "2021-11-30",
      "likes": 1,
      "category": "NOVEL"
    }
  ],
  "popularWriterList": [
    {
      "userId": 2,
      "writerId": 1,
      "nickname": "책러브",
      "profileImage": "https://monthsub-image.s3.ap-northeast-2.amazonaws.com/users/2/profile/55ba2b2a-5888-4cb0-9d55-0a4cf26ea597.png",
      "subscribeStatus": "null"
    },
    {
      "userId": 4,
      "writerId": 3,
      "nickname": "김작가",
      "profileImage": "https://monthsub-image.s3.ap-northeast-2.amazonaws.com/users/4/profile/989fec5b-cfd8-4e61-ba77-a5487122917a.png",
      "subscribeStatus": "null"
    }
  ],
  "recentSeriesList": [
    {
      "isLiked": false,
      "userId": 2,
      "writerId": 1,
      "seriesId": 95,
      "nickname": "책러브",
      "thumbnail": "https://monthsub-image.s3.ap-northeast-2.amazonaws.com/series/95/thumbnail/a3e3b399-6582-4080-912d-473b4147c5ca.jpeg",
      "title": "굽은 자로 곧은 선을 그을 수 없다.",
      "introduceSentence": "굽은 자로 곧은 선을 그을 수 없다.",
      "seriesStartDate": "2021-12-21",
      "seriesEndDate": "2021-12-22",
      "subscribeStatus": "SUBSCRIPTION_AVAILABLE",
      "subscribeStartDate": "2021-12-19",
      "subscribeEndDate": "2021-12-20",
      "likes": 1,
      "category": "ESSAY"
    }
  ]
}

문제 해결 방법 : popularSeriesList, popularWriterList, recentSeriesList 각 3개의 API로 분리한다 (리소스 별로)
프론트에서도 컴포넌트 별로 쪼개고 요청을 하는 것이 서버가 안정하다.

https://cloud.google.com/blog/products/api-management/restful-api-design-tips-search

profile
backend developer

0개의 댓글