Apollo-link-rest: рдХрдЪреНрдЪреЗ HTTP рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ Dgraph рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд░реНрдерди

рдХреЛ рдирд┐рд░реНрдорд┐рдд 6 рдирд╡ре░ 2018  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: apollographql/apollo-link-rest

рдпрд╣ рдЧреНрд░рд╛рдлрдХреНрдпреВрдПрд▓ рдХреЗ рд╕рд╛рде рдЧреНрд░рд╛рдлрдХреНрдпреВрдПрд▓ + - рдбреАрдЧреНрд░рд╛рдл рд╕реЗ рдорд┐рд╢реНрд░рдг рдХреА рддрд░рд╣ рд╣реЛрдЧрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЕрдЧрд░ рд╣рдо Dgraph рдХреНрд╡реЗрд░реА рдХреЛ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо cURL рдореЗрдВ рдХрд░рддреЗ рд╣реИрдВред рдбреАрдЧреНрд░рд╛рдл рдЕрдкреЛрд▓реЛ рдХреЗ рд╕рд╛рде рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрдЧрдд рд╣реЛрдЧрд╛ред

curl -X POST -H 'X-Dgraph-LinRead: {"1": 12}' localhost:8080/query -d $'
{
  balances(func: anyofterms(name, "Alice Bob")) {
    uid
    name
    balance
  }
}' | jq

рдЗрд╕рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА: https://docs.dgraph.io/clients/#raw -http

рдЬреИрд╕реЗ;

const query = gql`
  query Dgraph {
    apartments@rest(type: "query", path: "query", endpoint: "DgraphEnd") {
      bhk
      uid
    }
  }
`;

`` JS const query = gql
рдХреНрд╡реЗрд░реА рдбреАрдЧреНрд░рд╛рдл {
рдЕрдкрд╛рд░реНрдЯрдореЗрдВрдЯ (func: eq (рдкрдбрд╝реЛрд╕.рдирд╛рдо, "рд▓реБрдЯрд┐рдпрди")) @rest (рдкреНрд░рдХрд╛рд░: "рдХреНрд╡реЗрд░реА", рдкрде: "рдХреНрд╡реЗрд░реА", рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ: "DgraphEnd") {
рдмреЗрдбрд░реВрдо
рдпреВрдЖрдИрдбреА
}
}
`;

Mutation example:

```bash
curl -X POST localhost:8080/mutate -H 'X-Dgraph-MutationType: json' -H 'X-Dgraph-CommitNow: true' -d  $'
    {
      "set": [
      {"name": "Alice"},
      {"name": "Bob"}
    ]
      }' | jq

рдЪреАрдпрд░реНрд╕ред

enhancementЁЯТб

рд╕рднреА 7 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рд╣рдо рдкреЛрд╕реНрдЯрдореИрди рдореЗрдВ "рд░реЙ рдмреЙрдбреА" рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреАрдЧреНрд░рд╛рдл рдХреНрд╡реЗрд░реА рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рддреЛ рдпрд╣ рдПрдХ рд╕рдВрдХреЗрдд рд╣реИ рдХрд┐ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдбреАрдЧреНрд░рд╛рдл рдЕрдкреЛрд▓реЛ-рд▓рд┐рдВрдХ-рд░реЗрд╕реНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗ

рдкреБрдирд╢реНрдЪ. рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ "рдмреЙрдбреАрдмрд┐рд▓реНрдбрд░: $ рдХрд╕реНрдЯрдордмрд┐рд▓реНрдбрд░" рддрд░реАрдХрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

image

BTW рдЖрдк https://play.dgraph.io/query . рдХреЗ рд╡рд┐рд░реБрджреНрдз рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдмрд╕ рдкреЛрд╕реНрдЯрдореИрди рдХреЛ рдЙрд╕ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдкрд░ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВ, "рдкреЛрд╕реНрдЯ" рд╕реЗрдЯ рдХрд░реЗрдВ рдФрд░ рдмреЙрдбреА рд╕реЗрдЯ рд░реЙ рдореЗрдВ рдФрд░ рдиреАрдЪреЗ рдХреНрд╡реЗрд░реА рдкреЗрд╕реНрдЯ рдХрд░реЗрдВред

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдпреВрдЖрдИрдбреА рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИ

{
  node(func: uid(0x36bb9)) {
    uid
    expand(_all_) {
      uid
      expand(_all_)
    }
  }
}

рдпрд╣ рдПрдХ рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред - рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдХрдард┐рди рд╣рд┐рд╕реНрд╕рд╛ apollo-link-rest рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ - рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рдХрд╣рд╛, рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ customBodyBuilder рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдпрд╛ customFetch рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред - рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрдард┐рди рд╣рд┐рд╕реНрд╕рд╛ рд╕рд╣реА Dgraph -рд╕рдВрдЧрдд рдкреЗрд▓реЛрдб рдХреЛ "рдЙрддреНрдкрдиреНрди" рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

рдХреГрдкрдпрд╛ рд╣рдореЗрдВ рдмрддрд╛рдПрдВ рдХрд┐ рдЖрдк рдХреНрдпрд╛ рд╕рдордЭрддреЗ рд╣реИрдВ - рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдПрдХ рдмрд╣реБрдд рд╡реНрдпрд╛рдкрдХ "рдХреНрд╡реЗрд░реА-рдЬреЗрдирд░реЗрдЯрд░" рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд╕реНрдЯрдордлрдЪ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

Dgraph рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рд╣реИ рдЬрд┐рд╕рдХреА рднрд╛рд╖рд╛ GraphQL рд╕реЗ рдкреНрд░реЗрд░рд┐рдд рд╣реИред рдЗрд╕реЗ "рдЧреНрд░рд╛рдлрдХреНрдпреВрдПрд▓ + -" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдЧреНрд░рд╛рдл рднрд╛рд╖рд╛ рдХреЗ рд╕рд╛рде рдПрдХ DB рдЧреНрд░рд╛рдл рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХрдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ рдЬреЛ рдЧреНрд░рд╛рдлрд╝рдХреНрдпреВрдПрд▓ рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рд╕рдВрдЧрдд рд╣реИрдВред рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдПрдХ рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЕрдкреЛрд▓реЛ-рд▓рд┐рдВрдХ-рд░реЗрд╕реНрдЯ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреАрдЧреНрд░рд╛рдл рдкрд░ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдпрд╣ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рдХреНрдпрд╛ рдореИрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдкрд▓рдмреНрдз рдЪреАрдЬреЛрдВ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ (рдЬреИрд╕реЗ "рд╣реИрдХ")ред рдореБрдЭреЗ рдХреЛрдИ рдЕрдиреБрдХреВрд▓рди рдпреЛрдЧреНрдп рдЙрджрд╛рд╣рд░рдг рдирд╣реАрдВ рдорд┐рд▓рд╛ рдЬреЛ "рдмреЙрдбреА" рднреЗрдЬ рд╕рдХреЗ рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкреЛрд╕реНрдЯрдореИрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдерд╛ред

рд░реЙ рдЯреЗрдХреНрд╕реНрдЯ рдХреЗ рд╕рд╛рде рдмреЙрдбреА рдХреЛ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдирд╛ рдбреАрдЧреНрд░рд╛рдл рдХреЛ рдЕрдкреЛрд▓реЛ-рд▓рд┐рдВрдХ-рд░реЗрд╕реНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реЛрдЧрд╛ред Cuz рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ JSON рдореЗрдВ рд╣реИред рдХреЛрдИ рд░рд╣рд╕реНрдп рдирд╣реАрдВ рд╣реИред

рдЗрд╕ рдЕрдкреЛрд▓реЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдореБрдЭреЗ рдбреАрдЧреНрд░рд╛рдл рдХреЗ рд╕рд╛рде рдХрд╛рдлреА рд╕рдВрднрд╛рд╡рдирд╛рдПрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИрдВред

рдЪреАрдпрд░реНрд╕ред

@ рдорд┐рд╢реЗрд▓рдбрд┐рдЬрд╝ - рдЕрдЧрд░ рдРрд╕рд╛ рд╣реИ, рддреЛ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк apollo-link-rest рдлреЛрд░реНрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ рдЕрдкреЛрд▓реЛ-рд▓рд┐рдВрдХ-рдбреАрдЧреНрд░рд╛рдл рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ

рд╕рдВрднрд╡рддрдГ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдлрд┐рдХреНрд╕ apollo-link-http рдХрд╛рдВрдЯрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ? -- рд╡рд╣ рдкрд░рдд GraphQL рдмреЛрд▓рддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП GraphQL рд╕реЗ GraphQL рдЬреИрд╕рд╛ рдЖрдЙрдЯрдкреБрдЯ рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ?

рдЕрдкреЛрд▓реЛ-рд▓рд┐рдВрдХ-рдПрдЪрдЯреАрдЯреАрдкреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ, рдХреНрдпреВрдЬ рдбреАрдЧреНрд░рд╛рдл рдЧреНрд░рд╛рдлрдХреНрдпреВрдПрд▓+- рдЧреНрд░рд╛рдлрдХреНрд▓-рдЯреИрдЧ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реИред

рдореИрдВрдиреЗ рдбреАрдЧреНрд░рд╛рдл рдХреЗ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдХреЗ рд╕рд╛рде рдЕрдкреЛрд▓реЛ рд▓рд┐рдВрдХ рдХреЛ рд╕рдлрд▓рддрд╛ рдХреЗ рдмрд┐рдирд╛ рд╣рд┐рдЯ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХреЛрд╢рд┐рд╢ рдХреА рдереА, рдФрд░ рдЕрдиреБрд░реЛрдз рдирд┐рдХрд╛рдп рдЕрд▓рдЧ рд╣реИред рдЬрдмрдХрд┐ /graphql "рдХреНрд╡реЗрд░реА рдХреБрдВрдЬреА" рдореЗрдВ рдХреНрд╡реЗрд░реА рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдбреАрдЧреНрд░рд╛рдл рдореЗрдВ "рдХреНрд╡реЗрд░реА" рдлрд╝реАрд▓реНрдб рдирд╣реАрдВ рд╣реИ, рдХреЗрд╡рд▓ рдПрдХ рд░реЙ рд╣реИред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдореИрдВ рдбреАрдЧреНрд░рд╛рдл рдХрд╛ рджреЗрд╡ (рдЧреЛ рд▓реИрдВрдЧ) рдирд╣реАрдВ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЯреАрдо рдХреЗ рд╕рд╛рде рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рддреЛ рдореБрдЦреНрдп рдЕрдВрддрд░ рдЧреНрд░рд╛рдлрд╝рд┐рдХрд▓-рдЯреИрдЧ рдФрд░ рдХреНрд╡реЗрд░реА рдкреЗрд▓реЛрдб рдХреА рд╕реНрдерд┐рддрд┐ рд╣реИред рдЪреВрдВрдХрд┐ рдЕрдкреЛрд▓реЛ-рд▓рд┐рдВрдХ-рд░реЗрд╕реНрдЯ рднреА рдЧреНрд░рд╛рдлрд╝рдХрд▓-рдЯреИрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдореИрдВрдиреЗ рдбреАрдЧреНрд░рд╛рдл рдХреНрд╡реЗрд░реА (рдмреЙрдбреА рдХреЗ рд░реВрдк рдореЗрдВ) рдХреЛ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП @'рдирд┐рд░реНрджреЗрд╢ рдмрдирд╛рдиреЗ рдФрд░ рдЧреНрд░рд╛рдлрдХреНрдпреВрдПрд▓ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрд╛ред рдЬреИрд╕реЗ рдЖрдк "рдкрде:" рдореЗрдВ рдХрд░рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣ рд╕рд┐рд░реНрдл рдЕрдЯрдХрд▓реЗрдВ рд╣реИрдВред рд╡рд┐рдЪрд╛рд░ рдЕрднреА рднреА рд╕рдордп рд╕реЗ рдкрд╣рд▓реЗ рд╣реИред

рдЙрджрд╛рд╣рд░рдг:

const dgraphQ = ` 
{ 
  users (func: has(user), first:1000 ) {
   id : uid
   name
   email
}
}
`;

const query = gql`
      query dgraphTest(
        $customBuilder: any
      ) {
        users @rest(type: "User ", bodyBuilder: $customBuilder, method: "POST") { 
                                         #Maybe bodyKey?? I'll test it
          id
          name
          email
        }
      }
    `;

apolloClient.query({
  query: Query,
  variables: {
    input: { customBuilder: dgraphQ }
  }
}).then(response => {
  console.log(response);
});

рдиреАрдЪреЗ Dgraph's рдФрд░ GraphQL рдХреЗ рдЕрдиреБрд░реЛрдз рдирд┐рдХрд╛рдп рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░ рд╣реИред

рдЧреНрд░рд╛рдлрдХреНрдпреВрдПрд▓

POST /graphql HTTP/1.1
Host: api.githunt.com
Content-Type: application/x-www-form-urlencoded
cache-control: no-cache
Postman-Token: xxxxx
query=%7B%0A++++feed+(type%3A+NEW%2C+limit%3A+5)+%7B%0A++++++repository+%7B%0A++++++++owner+%7B+login+%7D%0A++++++++name%0A++++++%7D%0A%0A++++++postedBy+%7B+login+%7D%0A++++%7D%0A++%7D%0A++

рдбреАрдЧреНрд░рд╛рдл рдХрд╛ рдЧреНрд░рд╛рдлрдХреНрдпреВрдПрд▓+-

POST /query HTTP/1.1
Host: play.dgraph.io
Content-Type: application/x-www-form-urlencoded
cache-control: no-cache
Postman-Token: xxxxx
{
  node(func: uid(0x36bb9)) {
    uid
    expand(_all_) {
      uid
      expand(_all_)
    }
  }
}------WebKitFormBoundary7MA4YWxkTrZu0gW--

рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ рд╕реАрдзреЗ DGraph рдкрд░ рдЬрд╛рдирд╛ рдПрдХ рдЪреБрдиреМрддреА рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ, рдФрд░ рдПрдХ рдРрд╕рд╛ рдЬреЛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдпрд╛ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдЬреИрд╕реА рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЬрдЧрд╣ рдирд╣реАрдВ рдЫреЛрдбрд╝рддрд╛ рд╣реИред рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕рдХреА рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ - рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рдПрдХ рд▓рд┐рдВрдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕реАрдзреЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЧреНрд░рд╛рдл рдХреА рдЦреЛрдЬ рдХрд░рддрд╛ рд╣реИред

рдореБрдЭреЗ рдЙрдкрднреЛрдХреНрддрд╛ рдРрдк рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдердорд┐рдХ рдбреЗрдЯрд╛рд╕реНрдЯреЛрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдбреАрдЬреАрдЖрд░рдПрдл рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдПрдХ рдЕрд▓рдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд▓реЗ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЧреНрд░рд╛рдлрдХреНрдпреВрдПрд▓ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдбреАрдЬреАрдЖрд░рдПрдл рдкреНрд░рд╢реНрдиреЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдХреЗ рдПрдХ рдорд╛рдирдХ рдЕрдкреЛрд▓реЛ рд╕рд░реНрд╡рд░ рдРрдк рдХреЛ рдбреАрдЬреАрдЖрд░рдПрдл рдмреИрдХрдПрдВрдб рдореЗрдВ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдПрдХ рдХрд╕реНрдЯрдо рдПрдПрд╕рдЯреА ( рдЬреЙрдЗрди-рдореЙрдиреНрд╕реНрдЯрд░ рдЬреИрд╕реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рд╕реЗ рдкреНрд░реЗрд░рд┐рдд) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред рдореИрдВ рдЕрднреА рднреА рдЕрдкрдиреЗ рдЦрд╛рд▓реА рд╕рдордп рдореЗрдВ рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдХреЛ рд╡реНрд╣рд╛рдЗрдЯрдмреЛрд░реНрдбрд┐рдВрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдбрд┐рд▓реАрд╡рд░реА рдкрд░ рдХреЛрдИ рд╡рд╛рджрд╛ рдирд╣реАрдВ рд╣реИред

https://github.com/a-type/dgraphql

рд╢рд╛рдпрдж рдХреЛрдИ рднреА рдХреНрд╡реЗрд░реА рд░реВрдкрд╛рдВрддрд░рдг рдкрд░рдд рдЬреЛ рдореИрдВ рдмрдирд╛рддрд╛ рд╣реВрдВ рд╡рд╣ рдХреНрд▓рд╛рдЗрдВрдЯрд╕рд╛рдЗрдб рдХреЗ рд▓рд┐рдП рднреА рдкреЛрд░реНрдЯреЗрдмрд▓ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдЗрд╕реЗ рдПрдХ рдкреБрди: рдкреНрд░рдпреЛрдЬреНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдПрдХ рдХрд╛рд▓реНрдкрдирд┐рдХ apollo-link-dgraph рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ рдЙрд╕ рдПрдПрд╕рдЯреА рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдпрдВ рд╕реНрдХреАрдорд╛ рдХреЛ рдкрдврд╝рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдкрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рднрд░реЛрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

joemphilips picture joemphilips  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

timhwang21 picture timhwang21  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ssuvorov picture ssuvorov  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Paddy-Hamilton picture Paddy-Hamilton  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

chimon2000 picture chimon2000  ┬╖  9рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ