(1) cardset ๋ณด๊ธฐ ํ์ด์ง
- Page URL :
/cardsets/:id
โ ํ์ฌ cardset ์ ๋ณด(id, ์ ๋ชฉ, ์์ ๋
ธ๋ ์ ๋ณด) ๋ถ๋ฌ์ค๊ธฐ
๐ค Request
URL
GET /api/cardsets/{cardset์ id}/info
๐ข Response
Name | Type | Description |
---|
id | int | cardset์ id |
name | string | cardset์ title |
cardSetCount | int | ์์ ๋
ธ๋๋ค ์ค cardset์ ๊ฐ์ |
cardCount | int | ์์ ๋
ธ๋๋ค ์ค card์ ๊ฐ์ |
์์
GET /api/1/info
{
id: 1,
name: '์ด์์ฒด์ ',
cardSetCount: 2,
cardCount: 2,
}
โก cardset์ ์์ ๋
ธ๋(card, cardset) ๋ถ๋ฌ์ค๊ธฐ
- ๋ฐ๋ก ์๋ ์ฐ๊ฒฐ๋ ์์ ๋
ธ๋๊น์ง๋ง ๋ถ๋ฌ์ค๊ธฐ โ
depth = 1
๐ค Request
URL
GET /api/cardsets/{cardset์ id}/children
๐ข Response
- Response ํํ๋ [
card
๋๋ cardset
์ด ์ ์ฅ๋ JSON Array
]
โ if โ card
Name | Type | Description |
---|
id | int | card์ id |
type | string | type: 'CARD' |
title | string | card์ question |
โ if โ cardset
Name | Type | Description |
---|
id | int | cardset์ id |
type | string | type: 'CARDSET' |
title | string | cardset์ title |
์์
GET /api/cardsets/1/children
[
{
id: 2,
type: 'CARD',
title: '์ด์์ฒด์ ๋?',
},
{
id: 3,
type: 'CARDSET',
title: '์ด์์ฒด์ ์ฒ๋ฆฌ ๋ฐฉ์'
},
{
id: 4,
type: 'CARD',
title: '์ด์์ฒด์ ์ ์ฌ์ฉ ๋ชฉ์ ์?',
},
]
โข sidebar์ ๋ณด์ด๋ root cardset ๋ถ๋ฌ์ค๊ธฐ
- ๊ฐ์ฅ ์์ root cardset๋ค์ info ๋ณด์ฌ์ฃผ๊ธฐ
- root cardset๋ค์ ์์ cardset์ ์์๋ก ๋ง๋ค๊ณ ๊ทธ๊ฒ์ id=1์ด๋ผ๊ณ ์๊ฐํ์.
๐ค Request
URL
GET /api/cardsets/1/children
๐ข Response
- Response ํํ๋ [๊ฐ๊ฐ์ root ์ ๋ณด๊ฐ ๋ด๊ธด
JSON Array
]
Name | Type | Description |
---|
id | int | root cardset์ id |
type | string | type: 'CARDSET' |
title | int | cardset์ title |
์์
GET /api/cardsets/1/children
[
{
id: 3,
type: 'CARDSET',
title: '์ด์์ฒด์ ',
},
{
id: 6,
type: 'CARDSET',
title: '์๊ณ ๋ฆฌ์ฆ',
},
]
(2) cardset ์์ ํ์ด์ง
- Page URL :
/studio/:id
โจ์ฐธ๊ณ
- ์นด๋๋ฅผ ์์ฑํ๊ณ
save
๋ฒํผ์ ๋๋ฅผ ๋
frontend
์์ [์๋กญ๊ฒ ์์ฑํ ์นด๋ list]์ [์์ ํ ์นด๋ list]์ [์์ ๋ cardset ์ ๋ชฉ]์ ๊ฐ์ง๊ณ ์๋ค๊ฐ
save
๋ฒํผ์ ๋๋ฅด๋ฉด ๊ฐ๊ฐ์ for๋ฌธ์ผ๋ก ๋์์ ๊ฐ๊ฐ์ card๋ฅผ POST๋ก ๋ณด๋ธ๋ค.
add cardset
๋ฒํผ์ ๋๋ฅผ ๋
- ํ์ฌ๊น์ง์ ์์ ๋ด์ฉ์ ๋ฐํ์ผ๋ก
1๋ฒ
๊ณผ์ (์นด๋ ์ ์ฅ ์์ฒญ)์ ์งํํ๋ค.
- new cardset ์์ฑ ์์ฒญ์ ๋ณด๋ธ๋ค. body์
{ name : 'Untitled' }
๋ฅผ ๋ด์์ ๋ณด๋ด๊ณ ์๋ต์ผ๋ก new cardset์ cardset id
๋ฅผ ๋ฐ๋๋ค.
cardset id
๋ฅผ ๊ฐ์ง๊ณ URL์ด /studio/:id
์ธ ํ์ด์ง๋ฅผ ํธ์ถํด ์๋ก์ด studio page๋ก ์ด๋ํ๋ค.
โ ์๋กญ๊ฒ ๋ง๋ ์นด๋ ์ ์ฅํ๊ธฐ
๐ค Request
URL
POST /api/cardsets/{cardset์ id}/card
๐งพ Parameter
Name | Type | Description |
---|
question | string | card์ ์ง๋ฌธ |
answer | string | card์ ์ ๋ต |
๐ข Response
Name | Type | Description |
---|
id | int | ๋ง๋ค์ด์ง card์ id |
question | string | card์ ์ง๋ฌธ |
answer | string | card์ ์ ๋ต |
์์
POST /api/cardsets/1/card
{
question: '์ฌ๊ณผ๋ฅผ ์์ด๋ก?',
description: 'apple',
}
{
id: 2,
question: '์ฌ๊ณผ๋ฅผ ์์ด๋ก?',
description: 'apple',
}
โก ๊ธฐ์กด ์นด๋ ์์ ํ๊ธฐ
๐ค Request
URL
PATCH /api/cardsets/{cardset์ id}/card/{์์ ํ card์ id}
๐งพ Parameter
Name | Type | Description |
---|
question | string | card์ ์ง๋ฌธ |
answer | string | card์ ์ ๋ต |
๐ข Response
Name | Type | Description |
---|
id | int | ๋ง๋ค์ด์ง card์ id |
question | string | card์ ์ง๋ฌธ |
answer | string | card์ ์ ๋ต |
์์
PATCH /api/1/card/2
{
question: '์ฌ๊ณผ๋ฅผ ์์ด๋ก?',
description: 'apple',
}
{
id: 2,
question: '์ฌ๊ณผ๋ฅผ ์์ด๋ก?',
description: 'apple',
}
โข ์๋ก์ด cardset ์์ฑ ์์ฒญ ๋ณด๋ด๊ธฐ
add cardset
๋ฒํผ ํด๋ฆญ ์ ์คํ
๐ค Request
URL
POST /api/cardsets/{cardset์ id}/cardset
๐งพ Parameter
Name | Type | Description |
---|
name | string | 'Untitled'๋ฅผ ๋ณด๋ธ๋ค |
๐ข Response
Name | Type | Description |
---|
id | int | ๋ง๋ค์ด์ง new cardset์ id |
์์
POST /api/cardsets/1{cardset์ id}/cardset
{
name: '์๋ฃ๊ตฌ์กฐ',
}
{
id: 15,
}
โฃ ํ์ฌ cardset์ title ์์
๐ค Request
URL
PATCH api/cardsets/{์์ ๋ ํ์ฌ cardset์ id}
๐งพ Parameter
Name | Type | Description |
---|
id | int | ์์ ๋ cardset์ id |
name | string | ์์ ํ cardset์ ์ ๋ชฉ |
๐ข Response
๐๋ณด๋ฅ! ์ด๋ค๊ฑธ ์๋ต์ผ๋ก ์ค์ง ๋ฏธ์ ...
Name | Type | Description |
---|
name | string | ์์ ๋ cardset์ ์ ๋ชฉ |
์์
PATCH api/cardsets/1
{
id: 1,
name: '์๊ณ ๋ฆฌ์ฆ',
}
{
name: '์๊ณ ๋ฆฌ์ฆ',
}
โค ํ์ฌ cardset์ cards ๊ฐ์ ธ์ค๊ธฐ
๐ค Request
URL
GET /api/cardsets/{cardset์ id}/cards
๐ข Response
cards
๋ฅผ JSON Array๋ก ์ค๋ค.
Name | Type | Description |
---|
id | int | card id |
question | string | card ์ง๋ฌธ |
answer | string | card ์ ๋ต |
title | string | card๊ฐ ์ํ cardset์ title |
์์
GET /api/cardsets/1/cards
[
{
id: 1,
question: '1+1?',
answer: '2',
},
{
id: 14,
question: '2+2?',
answer: '4',
},
]
Author And Source
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๐ฑlimitless API ๊ฐ์ด๋), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค
https://velog.io/@eunseokim/limitless-API-๊ฐ์ด๋
์ ์ ๊ท์: ์์์ ์ ๋ณด๊ฐ ์์์ URL์ ํฌํจ๋์ด ์์ผ๋ฉฐ ์ ์๊ถ์ ์์์ ์์ ์
๋๋ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ
์ธ ๋ฐ๊ฒฌ์ ์ ๋
(Collection and Share based on the CC Protocol.)