
GraphQL рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдФрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рдирдХ рд╣реИ, рдЬреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рдХреЗ рдмреАрдЪ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдкрд░рдд рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдпрд╣ рдЧреНрд░рд╛рдлрдХреНрдпреВрдПрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдкрдХреА рдкрд╣рд▓реА рдмрд╛рд░ рд╕реБрдирд╡рд╛рдИ рд╣реИ, рддреЛ рдпрд╣рд╛рдВ рдХреБрдЫ рдЕрдЪреНрдЫреЗ рд╕рдВрд╕рд╛рдзрди рд╣реИрдВ: рдПрдХ рдФрд░ рджреЛ ред
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдЖрдк рдЗрдВрдЯрд░рд╕рд┐рд╕реНрдЯрдо рддрдХрдиреАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЧреНрд░рд╛рдлрдХрд▓рд╛рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╡рд░реНрддрдорд╛рди рдореЗрдВ, InterSystems рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд░реНрд╡рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВ:
- рдмрд╛рдХреА
- рд╡реЗрдм рд╕реЙрдХреЗрдЯ
- рд╕реЛрдк
рд▓реЗрдХрд┐рди GraphQL рдЗрддрдирд╛ рдЕрдЪреНрдЫрд╛ рдХреНрдпреЛрдВ рд╣реИ? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, REST рдХреЗ рд╕рд╛рде рдпрд╣ рдХреМрди рд╕реА рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рджреЗрдЧрд╛?
рдЧреНрд░рд╛рдлрдХреЙрд▓ рдореЗрдВ рдХрдИ рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреНрд░рд╢реНрди рд╣реИрдВ:
- рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ рд╕реЗ рдХреНрд╡реЗрд░реА рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдареАрдХ рдЙрд╕реА рдкреНрд░рдХрд╛рд░ рдЬреИрд╕реЗ рдХрд┐ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП GET рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИред
- рдЙрддреНрдкрд░рд┐рд╡рд░реНрддрди - рдпрд╣ рдкреНрд░рдХрд╛рд░ рд╕рд░реНрд╡рд░ рдкрд░ рдбреЗрдЯрд╛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред REST рдореЗрдВ, рдбреЗрдЯрд╛ POST (PUT, DELETE) рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдПред
рдореНрдпреВрдЯреЗрд╢рди , рдХреНрд╡реЗрд░реА рдХреА рддрд░рд╣ , рдбреЗрдЯрд╛ рд╡рд╛рдкрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдпрд╣ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ рдпрджрд┐ рдЖрдк рдореНрдпреВрдЯреЗрд╢рди рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рд╕рд░реНрд╡рд░ рд╕реЗ рдЕрджреНрдпрддрди рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред - рд╕рджрд╕реНрдпрддрд╛рдПрдБ рдХреНрд╡реЗрд░реА рдХрд╛ рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рд╣реИ рдЬреЛ рдбреЗрдЯрд╛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░реЗрдЧрд╛ред рдЕрдВрддрд░ рдХреЗрд╡рд▓ рдЗрддрдирд╛ рд╣реИ рдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдкреЗрдЬ рд░реЗрдВрдбрд░ рдХрд░рдиреЗ рд╕реЗ рдХреНрд╡реЗрд░реА рдЯреНрд░рд┐рдЧрд░ рд╣реЛрддреА рд╣реИ, рдФрд░ рдореНрдпреВрдЯреЗрд╢рди рджреНрд╡рд╛рд░рд╛ рд╕рдмреНрд╕рдХреНрд░рд┐рдкреНрд╢рди рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ред
GraphQL рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд▓рд╛рдпрдХ рдХреНрдпрд╛ рд╣реИ
рдЧреНрд░рд╛рд╣рдХ рддрдп рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рдХреНрдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред
рдЧреНрд░рд╛рдлрдХреЙрдЗрди рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рдХреА рд╕рдВрд░рдЪрдирд╛ рдФрд░ рдорд╛рддреНрд░рд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рдПрдХ рдШреЛрд╖рдгрд╛рддреНрдордХ, рдЧреНрд░рд╛рдлрд╝ рдЬреИрд╕реА рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреМрди рд╕рд╛ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ JSON рдкреНрд░рд╛рд░реВрдк рдХреЗ рд╕рдорд╛рди рд╣реИред рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рд╕рдВрд░рдЪрдирд╛ рдЕрдиреБрд░реЛрдз рдХреА рд╕рдВрд░рдЪрдирд╛ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИред
рдпрд╣ рдПрдХ рд╕рд░рд▓ рдЧреНрд░рд╛рдлрдХреНрдпреВрдПрд▓ рдХреНрд╡реЗрд░реА рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
{ Sample_Company { Name } }
JSON рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЙрддреНрддрд░:
{ "data": { "Sample_Company": [ { "Name": "CompuSoft Associates" }, { "Name": "SynerTel Associates" }, { "Name": "RoboGlomerate Media Inc." }, { "Name": "QuantaTron Partners" } ] } }
рдПрдХрд▓ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдмрд┐рдВрджреБ
рдЧреНрд░рд╛рдлрдХреНрдпреВрдПрд▓ рдореЗрдВ, рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╣рдореЗрд╢рд╛ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ ( рдПрдВрдбрдкреЙрдЗрдВрдЯ ) рдХреЗ рдПрдХ рдмрд┐рдВрджреБ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ - рдЬреАрдХреНрдпреВрдПрд▓ рд╕рд░реНрд╡рд░ред рд╕рдВрд░рдЪрдирд╛, рдлрд╝реАрд▓реНрдб, рдХреНрд╡реЗрд░реА рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдмрджрд▓рддреЗ рд╣реБрдП, рд╣рдо рд╡рд┐рднрд┐рдиреНрди рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдПрдХ рд╣реА REST рдореЗрдВ рдХрдИ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рд╣реИрдВред
рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рдЧреНрд░рд╛рдлрдХреИрд▓ рдХреЗ рд╕рд╛рде REST рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВ:

рдорд╛рди рд▓реЗрдВ рдХрд┐ рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд╛рдордЧреНрд░реА рдЕрдкрд▓реЛрдб рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, REST рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рд╕рд░реНрд╡рд░ рд╕реЗ рддреАрди рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рд╣реЛрдВрдЧреЗ:
- рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛ рдХреЛ рдЙрд╕рдХреА рдЖрдИрдбреА рджреНрд╡рд╛рд░рд╛ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ
- рдЖрдИрдбреА рджреНрд╡рд╛рд░рд╛ рд╣рдо рдЙрд╕рдХреЗ рдкрдж рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ
- рдЖрдИрдбреА рд╕реЗ рд╣рдо рдЗрд╕рдХреЗ рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдмрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ
рдЗрди рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдорд┐рд▓рд╛рди рдХрд╛рд░реНрдб:
<Route Url="/user/:id" Method="GET" Call="GetUserByID"/> <Route Url="/user/:id/posts" Method="GET" Call="GetUserPostsByID"/> <Route Url="/user/:id/follovers" Method="GET" Call="GetUserFolloversByID"/>
рдПрдХ рдирдпрд╛ рдбреЗрдЯрд╛рд╕реЗрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, REST рдХрд╛рд░реНрдб рдХреЛ рдирдП рд╕рдорд╛рдкрди рдмрд┐рдВрджреБрдУрдВ рдХреЗ рд╕рд╛рде рдкреВрд░рдХ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдЧреНрд░рд╛рдлрдХреНрд▓рд╛рдЗрди рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рдПрдХ рд╣реА рдкреНрд░рд╢реНрди рдореЗрдВ рдХрд░рддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдиреБрд░реЛрдз рдирд┐рдХрд╛рдп рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ:
{ operationName: null, // query ( query TestName(...){...} ) query: "query { User(id: "ertg439frjw") { name posts { title } followers(last: 3) { name } } }", variables: null // , query* }
рдЗрд╕ рдХреНрд╡реЗрд░реА рд╕реЗ рдорд┐рд▓рд╛рди рдХрд╛рд░реНрдб:
<Route Url="/graphql" Method="POST" Call="GraphQL"/>
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рд╕рд░реНрд╡рд░ рдкрд░ рдХреЗрд╡рд▓ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ рд╣реИред
GraphQL рдФрд░ GraphiQL рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
GraphQL рдХрд╛ рдЙрдкрдпреЛрдЧ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХреБрдЫ рдХрджрдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
- GitHub рд╕реЗ рдирд╡реАрдирддрдо рд░рд┐рд▓реАрдЬрд╝ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЗрдЪреНрдЫрд┐рдд рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдЖрдпрд╛рдд рдХрд░реЗрдВ
- рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рдмрдВрдзрди рдкреЛрд░реНрдЯрд▓ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ InterSystems Data Platform (Cach├й, Ensemble or IRIS) рд╕реЗ рдЕрдкрдиреЗ рдЙрддреНрдкрд╛рдж рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдПрдВ:
- рдирд╛рдо - /
- рд╕реНрдХреЛрдк - рдЬреИрд╕реЗ рдирдореВрдиреЗ
- рд╣реИрдВрдбрд▓рд░ рдХреНрд▓рд╛рд╕ - рдЧреНрд░рд╛рдлрд▓рд╛рдЗрди.рд░реЗрд╕реНрдЯ.рдореЗрди
- рдЧреНрд░рд╛рдлрд┐рдХреНрд╡реЗрд▓, рдЧреНрд░рд╛рдлрдХреЙрд▓ рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦреЛрд▓ рд╣реИред рдирд╡реАрдирддрдо рдЗрдХрдЯреНрдареЗ рдЧреНрд░рд╛рдлрд┐рд╕реЗрд▓ рд░рд┐рд▓реАрдЬ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдпрд╛ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдмрдирд╛рдПрдВ
- рдПрдХ рдирдпрд╛ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдПрдВ:
- рдирд╛рдо - / рдЧреНрд░реЗрдлрд┐рдХ
- рд╕реНрдХреЛрдк - рдЬреИрд╕реЗ рдирдореВрдиреЗ
- CSP рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рднреМрддрд┐рдХ рдкрде C: \ InterSystems \ GraphiQL / рд╣реИ
рдЪрд▓рд┐рдП рдкрд░рд┐рдгрд╛рдо рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ
рдЗрд╕ рд▓рд┐рдВрдХ рдкрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкрд░ рдЬрд╛рдПрдБ http: // localhost: 57772 / graphiql / index.html (рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ - рд╕рд░реНрд╡рд░, 57772 - рдкреЛрд░реНрдЯ)

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдиреБрд░реЛрдз рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реИ, рдФрд░ рд╕реНрдХреАрдорд╛ рдкреНрд░рд▓реЗрдЦрди рд╣реИ рдЬреЛ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╕рднреА рд╕рдВрдЧреНрд░рд╣реАрдд рд╡рд░реНрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИред
рд╕рд░реНрдХрд┐рдЯ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
- рдХрдХреНрд╖рд╛рдПрдВ
- рдЧреБрдг, рддрд░реНрдХ рдФрд░ рдЙрдирдХреЗ рдкреНрд░рдХрд╛рд░
- рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдХрд╛ рд╡рд┐рд╡рд░рдг, рдЬреЛ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдирдореВрдирд╛_рдХрдВрдкрдиреА рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЖрд░реЗрдЦ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:

рдЧреНрд░рд╛рдлрд┐рдХреНрд╡реЗрд▓ рдСрдЯреЛрдХрдВрдкреНрд▓реАрд╢рди рдХрд╛ рднреА рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ Ctrl + Space рдХреБрдВрдЬреА рд╕рдВрдпреЛрдЬрди рдХреЗ рд╕рд╛рде рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

рдЕрдиреБрд░реЛрдз
рдкреНрд░рд╢реНрди рдпрд╛ рддреЛ рд╕рд░рд▓ рдпрд╛ рдиреЗрд╕реНрдЯреЗрдб рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ; рдЖрдк рдХрдИ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреНрд╡реЗрд░реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдиреАрдЪреЗ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд░реНрдЧреЛрдВ рд╕реЗ рдбреЗрдЯрд╛ рдХреНрд╡реЗрд░реА рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдирдореВрдирд╛_рдкрд░реНрд╕рди рдФрд░ рдирдореВрдирд╛_рдХрдВрдкрдиреА :

рдЫрд╛рдирдиреЗ
рдлрд┐рд▓рд╣рд╛рд▓, рдХреЗрд╡рд▓ рд╕рдЦреНрдд рд╕рдорд╛рдирддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

рдкреГрд╖реНрда рдкрд░ рдЕрдВрдХ рд▓рдЧрд╛рдирд╛
рдкреЗрдЬрд┐рдиреЗрд╢рди рдХреЗ 4 рдХрд╛рд░реНрдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдЙрдиреНрд╣реЗрдВ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
- рдмрд╛рдж: n - n рд╕реЗ рдЕрдзрд┐рдХ рдЖрдИрдбреА рд╡рд╛рд▓реЗ рд╕рднреА рд░рд┐рдХреЙрд░реНрдб
- рдкрд╣рд▓реЗ: n - n рд╕реЗ рдХрдо рдЖрдИрдбреА рд╡рд╛рд▓реЗ рд╕рднреА рд░рд┐рдХреЙрд░реНрдб
- рдкрд╣рд▓рд╛: n - рдкрд╣рд▓рд╛ n рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдВ
- рдЕрдВрддрд┐рдо: рдПрди - рдЕрдВрддрд┐рдо рдПрди рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдВ

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

рдХрдХреНрд╖рд╛ рдХреА рджреГрд╢реНрдпрддрд╛ рдХреА рд╕реАрдорд╛ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдмрд╕ рдКрдкрд░ рдмрддрд╛рдП рдЧрдП рдорд╛рдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, GraphQL.Scope.Package рдпрд╛ GraphQL.Scope.Superclass ред
GraphQL.Scope.Package рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЗрд╕ рд╡рд░реНрдЧ рдореЗрдВ рдЬрд╛рдирд╛ рдФрд░ рдкреИрдХреЗрдЬ рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдорд╛рди рд╡рд╛рдВрдЫрд┐рдд рдкреИрдХреЗрдЬ рдХреЗ рдирд╛рдо рдкрд░ рд╕реЗрдЯ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирдореВрдирд╛ , рддреЛ рдЗрд╕ рдкреИрдХреЗрдЬ рд╕реЗ рд╕рднреА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрдХреНрд╖рд╛рдПрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛрдВрдЧреА:

рдФрд░ GraphQL.Scope.Superclass рдХреЗ рд╕рд╛рде , рдЖрдк рдмрд╕ рдЙрди рд╡рд░реНрдЧреЛрдВ рдореЗрдВ рдЗрд╕ рд╡рд░реНрдЧ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдирдХреА рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рд╣реИ
рд╕рдВрдмрдВрдзрд┐рдд рдЦреЛрдЬ:
- рдмреБрдирд┐рдпрд╛рджреА
- рдиреЗрд╕реНрдЯреЗрдб рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕
- рдХреЗрд╡рд▓ рдПрдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд▓рд┐рдП рдХрдИ
- рд╕рд░рд▓ рдкреНрд░рдХрд╛рд░ рдХреА рд╢реАрдЯ
- рд╡рд╕реНрддреБрдУрдВ рдХреА рдЪрд╛рджрд░
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рд╣реИ
рд╕рдВрдмрдВрдзрд┐рдд рдЦреЛрдЬ:
- рдиреЗрд╕реНрдЯреЗрдб рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕
- рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрдмрдВрдзреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди
- рдЫрд╛рдирдиреЗ
- рдЕрд╕рдорд╛рдирддрд╛ рдХрд╛ рд╕рдорд░реНрдерди
рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ
тЖТ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рд▓рд┐рдВрдХ
тЖТ рдбреЗрдореЛ рд╕рд░реНрд╡рд░ рд╕реЗ рд▓рд┐рдВрдХ
рдореБрджреНрджреЛрдВ рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдмрд╣реБрдд рд╕реНрд╡рд╛рдЧрдд рд╣реИред
рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ!