-
Notifications
You must be signed in to change notification settings - Fork 1
Feed API Specification
BangDori edited this page Apr 15, 2024
·
32 revisions
interface Image {
id: number;
imageUrl: string;
}
interface Feed {
id: number;
userId: number;
user: {
id: number;
profileImage: string;
name: string;
};
title: string;
content: string;
images: Image[];
updatedAt: string;
}
interface Comment {
id: number;
user: {
id: number;
profileImage: string;
name: string;
};
content: string;
updatedAt: string;
}
- ์์ฑ ์๋ฃ, ์ข์์ ์ฑ๊ณต, ์ ๊ณ ์ฑ๊ณต์ ๋ํ ์๋ต ๋ฐ์ดํฐ๋ ๋ฌด์์ผ๋ก ์ค์ ํด์ผ ํ๋์? โ ํผ๋๋ฐฑ 4
- ๊ฒ์๋ฌผ, ์ ์ ์ ๊ฐ์ ๊ณ ์ Id ํ์
ํ์ ํ์ (
string
vsbigint
) โ ํผ๋๋ฐฑ 1 - ํ๋ก์ฐ ์ฌ๋ถ์ ์๊ธฐ ๊ฒ์๋ฌผ ์ฌ๋ถ์ ๋ํ ์ฌ๋ถ ์ฒดํน์ ๋ํ ๋ฐฉ๋ฒ
โ ๏ธ ์ถํ ๋ณ๊ฒฝ๊ฐ๋ฅ- ๋ณ์ ํ๋๋ก ์ฒดํฌํ๋ ๋ฐฉ๋ฒ
relationshipStatus: 'self' | 'following' | 'none'
- ๋ณ์ ๋๊ฐ๋ก ์ฒดํฌํ๋ ๋ฐฉ๋ฒ
isFollow: boolean
isSelfFeed: boolean
- ๋ณ์ ํ๋๋ก ์ฒดํฌํ๋ ๋ฐฉ๋ฒ
- ๊ณต๊ฐ ๋ฒ์ ๋ณ์ ๋ช ์ด๋ค ๊ฑธ๋ก ์ ์ํ๋๊ฒ ์ข์๊น โ ํผ๋๋ฐฑ 5
- ์ ๊ณ ํ๊ธฐ ์ฌ์ ์ ๋ํ ๋ณ์๋ช ๊ณผ ํ์ ์ ์ด๋ป๊ฒ ์ค์ ํ๋ ๊ฒ์ด ์ข์๊น? โ ํผ๋๋ฐฑ 3
- ๋ชจ๋ id๋ number๋ก ๊ด๋ฆฌํด๋ ๋ฌด๋ฐฉํ ๋ฏ. BIGINT์ ๊ฐ์ด -9223372036854775808 ~ 9223372036854775807์ธ๋ฐ, unsigned๋ก ๊ด๋ฆฌํ๋ฉด ์ด ๊ฐ์ ๋์ ์ผ์ด ๊ฑฐ์ ์์ ๊ฒ์ด๋ผ ํ๋จ. (๋จ java ์์๋ BigInteger ํ์ ์ผ๋ก ์นํํด์ผ ํ ์๋ ์์ผ๋ ๊ณผ์ฐ Long ๋ฒ์๋ฅผ ๋์ ์ผ์ด ์์๊น?)
- API ์๋ต ๋ฐ์ดํฐ๋ ์ค๋ค์ดํฌ ์ผ์ด์ค๊ฐ ์๋, ์นด๋ฉ ์ผ์ด์ค๋ก ์ฌ์ฉ๋๋ค.
- ํ์ฌ ๋ฌธ์ํ๊ธฐ API์์๋ category๋ก ๋ถ๋ฅํ๊ณ ์์ผ๋ ํต์ผ์ฑ์ ์ํด ์ฌ๊ธฐ์์๋ category๋ก ํ๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค.
-
images: string[];
-> ์ฌ์ง ๊ฒฝ๋ก๋ง ๋ฐ์์ค๋ฉด FE๋จ์์ key๊ฐ ๋ถ์ฌ๋ก ์ธํด ๊ด๋ฆฌ๊ฐ ํ๋ค์ง ์์์ง? id, url ํจ๊ป ๋๊ธฐ๋ ๋ฐฐ์ด ํ์ ์ ๋ณด๋ด์ค ์ ์์. ์๋ต ๋ฐ์ดํฐ๊ฐ ํ์ํ๋ค๋ฉด ๊ทธ์ ๋ง์ถ์ด ๋ฐ์ดํฐ๋ฅผ ๋๊ฒจ๋๋ฆฌ๊ฒ ์ง๋ง, ์๋ง ํ์์์ง ์์๊น์? ๊ทธ๋ด ๋๋ ๋ค์๊ณผ ๊ฐ์ ์๋ต ํฌ๋งท์ ๋ฐํํฉ๋๋ค.{ "code": "2000", "data": {} }
- BE์์๋ public, friend, private๋ฅผ ์ฌ์ฉํ ๊ฒ ๊ฐ์ต๋๋ค.
- RESTful ๋ช ์ธ์ ์ํด ์์ฒญ url์ /feeds/{feed_id}, ์ฆ query param์ ์ฌ์ฉํ์ง ์์.
- ํผ๋ ์์ธ์์ ๊ตณ์ด feed์ comment๋ฅผ joinํ ํ์๊ฐ ์์์ง?
/feeds/{feed_id}
์/feeds/{feed_id}/comments
๋ฅผ ๋น๋๊ธฐ ์์ฒญ์ผ๋ก ๋ฐ๋ ๊ฒ ์๋ก ํธํ ๊ฑฐ๋ผ ์๊ฐํจ - Feed List์์ feedId๋ userId๋ฅผ ๋ฐ์์ฌ ์ ์์ผ๋๊น ์ด๊ฑธ๋ก ๊ฒ์๋ฌผ ์ ๋ณด ๋ณด์ฌ์ฃผ๊ณ , ๋ค์ ์์ฒญํด์ ์์ฑ์์์ ๊ด๊ณ ๋ฐ isLike, isBookMark ๋ฐ์์ค๊ฒ ํ๋ฉด ๋ ๋ฏ
- ์ด ๋ฐฉ๋ฒ์ด ์๋๋ผ๋ฉด Join ํ์๊ฐ ๋๋ฌด ๋ง์์ ธ์ ์คํ๋ ค ์๊ฐ์ด ๋ ๊ฑธ๋ฆด ์๋ ์์
- report, bookmark ๋ฑ ๋จ์ ๋ช ์ฌ๋ ๋ณต์ ๋ช ์ฌ๋ก ๋ณ๊ฒฝ
- likeCount๋ like์ ๋ํ API ์์ฒญ์ผ๋ก ๋ฐ์์ค๋ ์๋ต ๋ฐ์ดํฐ์ด๋ฏ๋ก totalCount๋ก ๋ณ๊ฒฝํ๋๊ฒ ์ข์ ๋ฏ!