๐Ÿ”™๋’ค๋กœ๊ฐ€๊ธฐ

GraphQL์—์„œ ๋ฆฌ์กธ๋ฒ„(resolver)๋Š” ํด๋ผ์ด์–ธํŠธ์˜ ์ฟผ๋ฆฌ์— ๋Œ€ํ•œ ์‘๋‹ต์„ ์ƒ์„ฑํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋˜๋Š” ํ•จ์ˆ˜์ด๋‹ค. ์ฟผ๋ฆฌ๊ฐ€ ๋“ค์–ด์˜ค๋ฉด, GraphQL ์„œ๋ฒ„๋Š” ์ด ์ฟผ๋ฆฌ๋ฅผ ํ•ด์„ํ•˜๊ณ , ์Šคํ‚ค๋งˆ์— ์ •์˜๋œ ๊ฐ ํ•„๋“œ์— ๋Œ€ํ•ด ํ•ด๋‹นํ•˜๋Š” ๋ฆฌ์กธ๋ฒ„๋ฅผ ํ˜ธ์ถœํ•œ๋‹ค.

๋ฆฌ์กธ๋ฒ„๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋กœ์ง์„ ๋‹ด๋‹นํ•˜๋ฉฐ, ์ด๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ๋‹ค๋ฅธ API, ํŒŒ์ผ ์‹œ์Šคํ…œ ๋“ฑ ์—ฌ๋Ÿฌ ์ถœ์ฒ˜๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค. ๋ฆฌ์กธ๋ฒ„๊ฐ€ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฐ’์€ GraphQL ์Šคํ‚ค๋งˆ์— ๋ช…์‹œ๋œ ํƒ€์ž…๊ณผ ์ผ์น˜ํ•ด์•ผ ํ•œ๋‹ค.

์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋ฆฌ์กธ๋ฒ„์˜ ์˜ˆ์‹œ

const resolvers = {
  Query: {
    user: (parent, args, context, info) => {
      // ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ์ฐพ์•„ ๋ฐ˜ํ™˜
      return database.findUserById(args.id);
    },
  },
};

๋ฆฌ์กธ๋ฒ„์˜ ์ธ์ž๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.