ID Async Select ๊ฐ์
๋น๋๊ธฐ ๋ก๋ฉ
API ํธ์ถ์๋ ์์ฑ
ํ์ ์์
Entity ๊ธฐ๋ฐID ํ์
๋ณด์ฅ
๊ฒ์ ์ง์
์ค์๊ฐ ํํฐ๋ง๋๋ฐ์ด์ค
๋ค์ค ์ ํ
๋จ์ผ/๋ค์ค ๋ชจ๋๋ฐฐ์ด ๋ฐํ
ID Async Select๋?
๋ฌธ์ : ์ธ๋ํค ์ ํ์ ๋ณต์ก์ฑ
๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ธ๋ํค ๊ด๊ณ๋ฅผ ์ฒ๋ฆฌํ ๋, ํ๋ก ํธ์๋์์๋ ๊ด๋ จ ์ํฐํฐ๋ฅผ ์ ํํด์ผ ํฉ๋๋ค. ์ ํต์ ์ธ ๋ฐฉ์์ ๋ฌธ์ ์ :- ์ฑ๋ฅ: ๋ฐ์ดํฐ๊ฐ ๋ง์ผ๋ฉด ๋ก๋ฉ ์๊ฐ ์ฆ๊ฐ
- ๋ฉ๋ชจ๋ฆฌ: ๋ถํ์ํ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ
- UX: ์ฌ์ฉ์๊ฐ ์ํ๋ ํญ๋ชฉ์ ์ฐพ๊ธฐ ์ด๋ ค์
- ํ์ฅ์ฑ: ๋ฐ์ดํฐ๊ฐ ๊ณ์ ๋์ด๋๋ฉด ๊ฐ๋น ๋ถ๊ฐ
ํด๊ฒฐ: ID Async Select
Sonamu์ ID Async Select๋ ํ์ํ ๋๋ง ๋น๋๊ธฐ๋ก ๋ก๋ํ๊ณ ๊ฒ์ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.- โจ ์ฑ๋ฅ: ์ฒ์์๋ ์ต์ํ๋ง ๋ก๋, ๊ฒ์ ์ ํ์ํ ๊ฒ๋ง
- โจ ์ฌ์ฉ์ ๊ฒฝํ: ์๋์์ฑ์ผ๋ก ๋น ๋ฅธ ์ ํ
- โจ ํ์ ์์ : Entity ํ์ ์ด ์๋์ผ๋ก ์ ์ฉ
- โจ ํ์ฅ์ฑ: ๋ฐ์ดํฐ๊ฐ ์๋ฌด๋ฆฌ ๋ง์๋ ๋ฌธ์ ์์
๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ
๋จ์ผ ์ ํ
ํ๋์ ์ํฐํฐ๋ฅผ ์ ํํฉ๋๋ค.- ์ปดํฌ๋ํธ ๋ง์ดํธ ์ ์ด๊ธฐ ์ต์ ๋ก๋ (๋ณดํต ์ต๊ทผ 10๊ฐ)
- ์ฌ์ฉ์๊ฐ ํ์ดํํ๋ฉด ๊ฒ์ API ํธ์ถ
- ๊ฒ์ ๊ฒฐ๊ณผ๋ฅผ ๋๋กญ๋ค์ด์ ํ์
- ์ ํ ์ ID๋ง ์ ์ฅ (๋ฉ๋ชจ๋ฆฌ ํจ์จ์ )
๋ค์ค ์ ํ
์ฌ๋ฌ ์ํฐํฐ๋ฅผ ์ ํํฉ๋๋ค.- ์ ํ๋ ํญ๋ชฉ์ ํ๊ทธ ํํ๋ก ํ์
- X ๋ฒํผ์ผ๋ก ๊ฐ๋ณ ์ ๊ฑฐ
- ๋ฐฐ์ด ํํ๋ก ID ๋ฐํ (
number[])
์ด๊ธฐ๊ฐ ์ค์
๊ธฐ์กด ๋ฐ์ดํฐ ์์ ์ ์ด๊ธฐ๊ฐ์ ์ค์ ํฉ๋๋ค.value์ ID๋ฅผ ์ ๋ฌํ๋ฉด ์๋์ผ๋ก ํด๋น ์ํฐํฐ ๋ก๋- ๋ ์ด๋ธ ํ์๋ฅผ ์ํด ๋ฐฑ๊ทธ๋ผ์ด๋์์ ๋จ๊ฑด ์กฐํ
- ๋ก๋ฉ ์ค์๋ ID๋ง ํ์
๊ณ ๊ธ ์ฌ์ฉ๋ฒ
์ปค์คํ ๊ฒ์ ๋ก์ง
๊ธฐ๋ณธ ๊ฒ์ ๋์ ์ปค์คํ ๋ก์ง์ ์ฌ์ฉํ ์ ์์ต๋๋ค.- ํน์ ์กฐ๊ฑด ํํฐ๋ง (์ญํ , ์ํ ๋ฑ)
- ๋ณต์กํ ๊ฒ์ ๋ก์ง
- ๋ค๋ฅธ API ์๋ํฌ์ธํธ ์ฌ์ฉ
๋ ์ด๋ธ ์ปค์คํฐ๋ง์ด์ง
ํ์๋๋ ๋ ์ด๋ธ์ ์ํ๋ ํ์์ผ๋ก ๋ณ๊ฒฝํฉ๋๋ค.์กฐ๊ฑด๋ถ ์ต์ ํํฐ๋ง
ํน์ ์กฐ๊ฑด์ ๋ง๋ ํญ๋ชฉ๋ง ์ ํ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.๋๋ฐ์ด์ค ์ค์
๊ฒ์ API ํธ์ถ ๋น๋๋ฅผ ์กฐ์ ํฉ๋๋ค.- ์ฌ์ฉ์๊ฐ ํ์ดํ์ ๋ฉ์ถ ํ ์ง์ ๋ ์๊ฐ์ด ์ง๋๋ฉด ๊ฒ์ ์คํ
- API ํธ์ถ ํ์๋ฅผ ์ค์ฌ ์๋ฒ ๋ถํ ๊ฐ์
- ์ฌ์ฉ์ ๊ฒฝํ๋ ํฅ์ (๋ถํ์ํ ๋ก๋ฉ ๊ฐ์)