Subscriptions
Subscriptions
Subscription์ Query ๋ฐ Mutation๊ณผ ๊ฐ์ ๋ ๋ค๋ฅธ GraphQL ์์
์ ํ์
๋๋ค. ์๋ฐฉํฅ ์ ์ก ๊ณ์ธต, ์ฃผ๋ก ์น ์์ผ์ ํตํด ์ค์๊ฐ ๊ตฌ๋
์ ์์ฑํ ์ ์์ต๋๋ค. Subscription์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ฌ๊ธฐ๋ฅผ ์ฐธ์กฐํ์ญ์์ค. ์๋๋ ๊ณต์ Apollo ๋ฌธ์์์ ์ง์ ๋ณต์ฌ ํ commentAdded
๊ตฌ๋
์์ ์
๋๋ค.
warning ์๋ฆผ
pubsub
๋PubSub
ํด๋์ค์ ์ธ์คํด์ค์ ๋๋ค. ์์ธํ ๋ด์ฉ์ ์ฌ๊ธฐ๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
Schema first
Nest์์ ๋๋ฑํ ๊ตฌ๋
์ ๋ง๋ค๋ ค๋ฉด @Subscription()
๋ฐ์ฝ๋ ์ดํฐ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ปจํ
์คํธ์ ์ธ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํน์ ์ด๋ฒคํธ๋ฅผ ํํฐ๋งํ๊ธฐ ์ํด filter
์์ฑ์ ์ค์ ํ ์ ์์ต๋๋ค.
๊ฒ์๋ ํ์ด๋ก๋๋ฅผ ๋ณ๊ฒฝํ๋ ค๋ฉด resolve
ํจ์๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
Type definitions
๋ง์ง๋ง ๋จ๊ณ๋ ์ ํ ์ ์ ํ์ผ์ ์ ๋ฐ์ดํธํ๋ ๊ฒ์ ๋๋ค.
์ ํ์ต๋๋ค. ์ฐ๋ฆฌ๋ ํ๋์ commentAdded(repoFullName: String!): Comment
๊ฐ์
์ ๋ง๋ค์์ต๋๋ค. ์ ์ฒด ์ํ ๊ตฌํ์ ์ฌ๊ธฐ์์ ์ฐพ์ ์ ์์ต๋๋ค.
Code first
ํด๋์ค ์ฐ์ ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํ์ฌ ๊ตฌ๋
์ ๋ง๋ค๋ ค๋ฉด @Subscription()
๋ฐ์ฝ๋ ์ดํฐ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ปจํ
์คํธ์ ์ธ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํน์ ์ด๋ฒคํธ๋ฅผ ํํฐ๋งํ๊ธฐ ์ํด filter
์์ฑ์ ์ค์ ํ ์ ์์ต๋๋ค.
๊ฒ์๋ ํ์ด๋ก๋๋ฅผ ๋ณ๊ฒฝํ๋ ค๋ฉดresolve
ํจ์๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
PubSub
์ฌ๊ธฐ์๋ ๋ก์ปฌ PubSub
์ธ์คํด์ค๋ฅผ ์ฌ์ฉํ์ต๋๋ค. ๋์ , PubSub
๋ฅผ ๊ณต๊ธ์๋ก ์ ์ํ๊ณ ์์ฑ์ (@inject()
๋ฐ์ฝ๋ ์ดํฐ๋ฅผ ์ฌ์ฉํ์ฌ)๋ฅผ ํตํด ์ฃผ์
ํ ๋ค์ ์ ์ฒด ์ ํ๋ฆฌ์ผ์ด์
์์ ์ฌ ์ฌ์ฉํด์ผ ํฉ๋๋ค. Nest ์ฌ์ฉ์ ์ง์ ๊ณต๊ธ์ ์ฌ๊ธฐ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ฝ์ ์ ์์ต๋๋ค.
Module
Subscription์ ๊ฐ๋ฅํ๊ฒํ๋ ค๋ฉด installSubscriptionHandlers
์์ฑ์ true
๋ก ์ค์ ํด์ผํฉ๋๋ค.
Subscription ์๋ฒ (์ : ํฌํธ ๋ณ๊ฒฝ)๋ฅผ ์ฌ์ฉ์ ์ ์ํ๋ ค๋ฉด subscriptions
์์ฑ์ ์ฌ์ฉํ์ญ์์ค (์ฌ๊ธฐ).
Last updated
Was this helpful?