<aside> 💡 인기유저와 일반유저의 탐색을 위한 API개발에 관련된 문서
</aside>
어드민 페이지에서 수정
이번 API의 경우는 자동화가 아닌 수동적으로 인기 유저를 관리하는 방식으로 진행되기 때문에 먼저 테이블을 형성한 뒤에 프로덕트 관리자가 이를 수정할 수 있도록 만드는 것이 목표
→ 가장 간단한 방법은 어드민 페이지에서 관련 정보를 수정할 수 있는 기능을 제공하는 것이 이상적이라고 판단하였다.
API 모델링
기존의 팔로워를 보여주는 API를 변형하여 진행을 하도록 하자
위의 디자인을 토대로 → 유저 아이디, 사진, 이름(full_name), 설명(description)
일반 사용자의 모습은 아래와 같다.
인기 유저와 다르게 → 유저 아이디, 사진, 이름, 링크, 픽
users
애플리케이션에서 general
과 popular
의 엔드포인트로 두개의 독립된 API를 만들 것이다.
→ 하나의 API로 type에 맞추어 응답을 다르게 하는 방식도 생각해 보았지만 두 API의 경우는 응답 양식이 상당히 다르기 때문에 API 사용의 혼동을 줄 수 있을 것이라 판단하였다.
<aside> 💡 인기 유저를 탐색하는 API입니다. 관리자가 정한 10명의 유저 정보만 불러옵니다. 기본 페이지 네이션 처리없이 10개의 유저 정보만 불러옵니다. 자세한 사항은 아래를 참고해 주세요.
</aside>
view: DiscoverPopularView
URL: GET users/popular
permission: AllowAny
pagination 옵션 → 적용❌
{
...
}
Response(단일 JSON)
{
"user_id": 3010,
"image": {
"original": "/media/images/profile/3010/21e5c3fb9cf64d9d9c891cfa96ec3646"
},
"full_name": "jeryy jho",
"description": "테니스를 좋아합니다.🤑🤑🤑"
}
<aside>
💡 일반 유저를 탐색하는 API입니다. 랜덤한 50명의 유저 정보를 불러옵니다. for_user
의 경우는 자기 자신을 제외하기 위한 쿼리 파라미터입니다. 기본 적으로 10개씩 페이지네이션 처리를 하고 있습니다.
</aside>
DiscoverGeneralView
GET users/general?for_user=3010
AllowAny