Apollo-link-rest: ๋‚˜๋จธ์ง€ ๋ฐ์ดํ„ฐ ๊ฐ€์ ธ์˜ค๊ธฐ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2018๋…„ 02์›” 19์ผ  ยท  5์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: apollographql/apollo-link-rest

์•ˆ๋…•ํ•˜์„ธ์š”, REST ๋์ ์—์„œ ์ผ๋ถ€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋ ค๊ณ  ํ–ˆ์Šต๋‹ˆ๋‹ค.
delivery.kenticocloud.com/975bf280-fd91-488c-994c-2f04416e5ee3/items/

์ฟผ๋ฆฌ๋ฅผ ์„ค์ •ํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค(๋„คํŠธ์›Œํฌ ์Šค๋‹ˆํ•‘ ์‹œ ์š”์ฒญ ์ฐธ์กฐ).
https://github.com/Simply007/apollo-link-rest/tree/master/examples/apollo2

๊ทธ๋Ÿฌ๋‚˜ ์‹ค์ œ ์ฝ˜ํ…์ธ ๋ฅผ ๋ Œ๋”๋งํ•˜๋ ค๊ณ  ํ•  ๋•Œ ๋ฐ์ดํ„ฐ๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
https://github.com/Simply007/apollo-link-rest/blob/master/examples/apollo2/src/Components/Article.js#L26

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ํžŒํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

์ฝ˜์†”์—์„œ๋„ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

writeToStore.js:111 Missing field __typename in {
  "item": {
    "system": {
      "id": "117cdfae-52cf-4885-b271-66aef6825612",
      "name": "Cof

์˜ˆ์ œ๋ฅผ ์‹คํ–‰ํ•˜๋ ค๋ฉด /examples/apollo2๋กœ ์ด๋™ํ•˜์—ฌ ๋‹ค์Œ์„ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค.
npm install
npm run

์˜ˆ์ œ๋Š” create-react-app ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

help wanted ๐Ÿ›  questionโ”

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

https://github.com/apollographql/apollo-link-rest/blob/76a0e47e41a207db29dbaf862ee83f97f495ea92/src/__tests__/restLink.ts#L377 -L559
@Simply007 -- ์ด๊ฒƒ์€ typePatcher ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ฃผ๋Š” ๋ณต์žกํ•œ ์˜ˆ์ž…๋‹ˆ๋‹ค.

๋ชจ๋“  5 ๋Œ“๊ธ€

์•ˆ๋…•ํ•˜์„ธ์š” @Simply007์ž…๋‹ˆ๋‹ค! ๊ท€ํ•˜์˜ API ๋ฐ ์˜ˆ์ œ ์•ฑ์„ ์‚ดํŽด๋ณด์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‹น์‹ ์ด ๊ฑฐ๊ธฐ์— ๋ช‡ ๊ฐ€์ง€ ์„ธ๋ถ€ ์‚ฌํ•ญ์„ ๋†“์น˜๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

type: "MyType" ๋ฅผ @rest() ์ง€์‹œ๋ฌธ ํ˜ธ์ถœ์— ์ „๋‹ฌํ•˜๊ณ  ์‹ถ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค!

๊นŠ์ด ์ค‘์ฒฉ๋œ ๊ฐ์ฒด ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— typePatcher https://github.com/apollographql/apollo-link-rest/blob/75df172a028148a75daa4764c0a81d6f10ddaf69/src/restLink.ts๋ฅผ ์‚ดํŽด๋ณด๋Š” ๊ฒƒ๋„ ์ข‹์Šต๋‹ˆ๋‹ค.

๊ฑด๋ฐฐ!

์•Œ๊ฒ ์Šต๋‹ˆ๋‹ค. ๋‚˜๋จธ์ง€์—์„œ ์–ป์€ ๋ฐ์ดํ„ฐ์˜ ํ˜•์‹์„ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ ‡๊ฒŒ ํ•˜๋ ค๋ฉด "MyType" ์œ ํ˜•์„ ์•Œ๋„๋ก TypePatcherTable์„ ์„ค์ •ํ•œ ๋‹ค์Œ ๋‚˜๋จธ์ง€ ์ •์˜์—์„œ ์ด ์œ ํ˜•์„ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

TypePatcherTable์„ ์‚ฌ์šฉํ•˜์—ฌ ์œ ํ˜•์„ ์ •์˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์˜ˆ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ? ์ด์ƒ์ ์œผ๋กœ ์œ ํ˜• ์ค‘์ฒฉ.

tests/restLink.ts์—์„œ typePatcher๋ฅผ ์ฐพ์œผ์‹ญ์‹œ์˜ค. ๊ฑฐ๊ธฐ์— ๋ณต์žกํ•œ ์ค‘์ฒฉ ์˜ˆ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

(๋‚˜๋Š” ๋‚ด โ€‹โ€‹์ „ํ™”์— ์žˆ๊ฑฐ๋‚˜ ๊ฑฐ๊ธฐ์— ๋Œ€ํ•œ ๋”ฅ ๋งํฌ๋ฅผ ์ค„ ๊ฒƒ์ž…๋‹ˆ๋‹ค, ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค!)

https://github.com/apollographql/apollo-link-rest/blob/76a0e47e41a207db29dbaf862ee83f97f495ea92/src/__tests__/restLink.ts#L377 -L559
@Simply007 -- ์ด๊ฒƒ์€ typePatcher ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ฃผ๋Š” ๋ณต์žกํ•œ ์˜ˆ์ž…๋‹ˆ๋‹ค.

์ข‹์•„์š”, ์ด๊ฒƒ์ด ๋ฐ”๋กœ ์ œ๊ฐ€ ํ•„์š”ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค! :-)

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰