문제원인: 메인 페이지 조회로(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