ํฐ์คํ ๋ฆฌ ๋ทฐ
๐ฆฅ 1. Graph QL ๊ฐ๋
1.1 GraphQL ์ด๋?
- GraphQL ์ API๋ฅผ ์ํ ์ง์์ด์ด์ ์กด์ฌํ๋ ๋ฐ์ดํฐ์ ๋ํด ์ฟผ๋ฆฌ๋ฅผ ์ํํ๋ ์ธ์ด
- API ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์๋ฒฝํ๊ณ ์ดํด๊ฐ๋ฅํ ์ํ๋ก ์ ๊ณต
- Client ๊ฐ GraphQL ํ์์ผ๋ก ์์ฒญํ๋ฉด ํ์ํ๊ณ ํ์ํ์ง ์์ ๋ฐ์ดํฐ๋ฅผ ์ ํํ๊ฒ ์์ฒญํ ์ ์๋ค
1.2 GraphQL ์ฅ๋จ์
์ฅ์
- ํ์ํ๊ณ ์ป๊ณ ์ ํ๋ ๋ฐ์ดํฐ๋ง ์ ํํ๊ฒ ์์ฒญ ๊ฐ๋ฅ
- GraphQL ์ฟผ๋ฆฌ๋ก API ์ ์์ฒญ์ ๋ณด๋ด๋ฉด ์ ํํ๊ฒ ์ํ๋ ๋ฐ์ดํฐ๋ง ๋ฐ์ ์ ์์
- ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ๋ฆฌํด๋ฐ์ ์ง ๋ช ์ํ๊ธฐ ๋๋ฌธ์ ์์ธก๊ฐ๋ฅํ ๊ฒฐ๊ณผ๋ง ๋ฆฌํด
- ์๋ฒ๊ฐ ์๋ ํด๋ผ์ด์ธํธ๊ฐ ๊ฐ์ง๊ณ ์ฌ ๋ฐ์ดํฐ๋ฅผ ํต์ ํ๊ธฐ ๋๋ฌธ์ ๋น ๋ฅด๊ณ ์์ ์ ์
- REST API ๋ ์ฌ๋ฌ URI ๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ๋ก๋ฉํ์ง๋ง GraphQL ์ ๋จ์ผ ์์ฒญ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์ฌ ์ ์์
๋จ์
- ํ์ผ ์ ๋ก๋ ๊ตฌํ ๋ฐฉ๋ฒ์ด ์ ํด์ ธ ์์ง ์์์ ์ง์ ๊ตฌํํด์ผ ํ๋ค
- ๊ณ ์ ๋ ์์ฒญ๊ณผ ์๋ต์ด ํ์ํ ๋ query๋ก ์ธํด ์์ฒญ์ ํฌ๊ธฐ๊ฐ REST API ๋ฐฉ์๋ณด๋ค ํฌ๋ค
1.3 SQL query ์ GraphQL
- SQL Query๋ ์๋ฒ๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ๊ฐ์ ธ์ค๊ธฐ ์ํ ์ง์์ด
- GraphQL ์ ํด๋ผ์ด์ธํธ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์๋ฒ๋ก ๋ถํฐ ํจ์จ์ ์ผ๋ก ๊ฐ์ ธ์ค๊ธฐ ์ํ ์ง์์ด
๐ฆฅ 2. REST API ์ GraphQL
2.1 REST API
- GraphQL ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ฐ์ดํฐ๋ฅผ ๊ตํํ๊ธฐ ์ํ ์ธํฐํ์ด์ค
- ์์์ ์ด๋ฆ์ผ๋ก ๊ตฌ๋ถํ์ฌ ๊ด๋ฆฌํ๋ ๊ฒ
- URI๋ฅผ ํตํด ์์์ ๋ช ์ํ๊ณ HTTP Method ๋ฅผ ํตํด ์์์ ๋ํ ์ฒ๋ฆฌ ๋ฐฉ๋ฒ์ ๋ช ์
2.2 REST API ์ GraphQL ์ ์๋ ํฌ์ธํธ ๋น๊ต
๋๋ณด๊ธฐ
๐ก ๊ฒฝ๊ธฐ ์ ๋ณด๋ค์ ์กฐํํ๋ ํ์ด์ง์์ ๋ณด์ฌ์ค์ผ ํ ๋ฐ์ดํฐ
1. Teams : ์ฌ๋ฌ๊ฐ์ ํ ์ ๋ณด
2. Players : ํ์ ์ ์๋ค ์ ๋ณด
3. Matches : ์ฌ๋ฌ๊ฐ ํ์ ๊ฒฝ๊ธฐ ์ ๋ณด
ํด๋ผ์ด์ธํธ์์ REST API ๋ฐฉ์์ผ๋ก ํธ์ถํ ๊ฒฝ์ฐ
- Team ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๊ธฐ ์ํด GET /team/{teamID} ํธ์ถ
- ํด๋น Team ์ Matche ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๊ธฐ ์ํด GET /match/list/{teamId} ํธ์ถ
ํด๋ผ์ด์ธํธ์์ GraphQL ๋ฐฉ์์ผ๋ก ํธ์ถํ ๊ฒฝ์ฐ
query {
team(teamId: 1) {
teamname
teamcoach
teamcolor
}
matches(teamId: 1) {
matchdate
matchteam
}
}
'TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋๊ธ
๊ณต์ง์ฌํญ
์ต๊ทผ์ ์ฌ๋ผ์จ ๊ธ
์ต๊ทผ์ ๋ฌ๋ฆฐ ๋๊ธ
- Total
- Today
- Yesterday
๋งํฌ
TAG
- level0
- TCP
- nginx
- N+1
- OS
- ddl-auto
- graphql
- CodeDeploy
- SpringGraphQL
- ORA-27125
- db
- ci/cd
- ์ด์์ฒด์
- ๋ค์ด๋ฒํด๋ผ์ฐ๋
- Til
- EC2
- ๊ธฐ์ ๋ฉด์
- Oracle
- SpringSecurity
- ํธ๋์ญ์ ๊ฒฉ๋ฆฌ์ฑ
- ํ์ผ์ ๋ก๋์ค์
- ํธ๋์ญ์
- Java
- spring
- ํ๋ก๊ทธ๋๋จธ์ค
- AWS
- ์ธ๋ฑ์ค
- Travis CI
- ๋๋ค์
- JPA
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
๊ธ ๋ณด๊ดํจ