GraphQL рдХрд╛ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рджреМрд░рд╛

рдирдорд╕реНрдХрд╛рд░, рд╣реЗрдмреНрд░!


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

рдЖрдЬ рдХреЗ рд▓реЗрдЦ рдХреЗ рд▓реЗрдЦрдХ, рд░реЙрдмрд┐рди рд╡рд┐рд░реБрдЪ, рдЗрд╕ рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рдЧреНрд░рд╛рдлрдХреНрд▓рд╛рдЗрди рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдкрд░ рдПрдХ рдкреБрд╕реНрддрдХ рдкрд░ рднреА рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдЖрдЬ рдХреЗ рд▓реЗрдЦ рдореЗрдВ REST рдХреЗ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ рдЧреНрд░рд╛рдлрдХреЙрдЗрди рдХреЗ рдлрд╛рдпрджреЗ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдмрддрд╛рддреЗ рд╣реИрдВред



рдЬрдм рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдмреАрдЪ рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рдмрд╛рдд рдЖрддреА рд╣реИ, рддреЛ REST рдХреЛ рдЕрдХреНрд╕рд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рджреБрдирд┐рдпрд╛ рдХреЗ рдмреАрдЪ рдкреБрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрд░рдИрдПрд╕рдЯреА рдореЗрдВ, рд╕рдм рдХреБрдЫ "рд╣рдореЗрдВ рдЙрди рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ URL рджреНрд╡рд╛рд░рд╛ рд╕реБрд▓рдн рд╣реИрдВред" рдЖрдк HTTP GET рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╕рдВрд╕рд╛рдзрди рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ, HTTP POST рдЕрдиреБрд░реЛрдз рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╕рдВрд╕рд╛рдзрди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ HTTP PUT рдФрд░ DELETE рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдЕрдкрдбреЗрдЯ рдФрд░ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрди рдСрдкрд░реЗрд╢рдиреЛрдВ рдХреЛ CRUD (рдХреНрд░рд┐рдПрдЯ, рд░реАрдб, рдЕрдкрдбреЗрдЯ, рдбрд┐рд▓реАрдЯ) рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдВрд╕рд╛рдзрди рд▓реЗрдЦрдХреЛрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рд╕реА рднреА рд╕рд╛рдордЧреНрд░реА рдпрд╛ рд▓реЗрдЦ рд╕реЗ рд▓рд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред REST рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдкреНрд░рд╛рд░реВрдк рд╣рд╛рд░реНрдбрдХреЛрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдХреНрд╕рд░ JSON рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдВрдд рдореЗрдВ, REST URL рдФрд░ HTTP рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд╛рдорд╛рдиреНрдп HTTP рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдкрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдЪрд╛рд░ рд╕рдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИред

 //    REST GET https://api.domain.com/authors/7 //   JSON { "id": "7", "name": "Robin Wieruch", "avatarUrl": "https://domain.com/authors/7", "firstName": "Robin", "lastName": "Wieruch" } 

рд╣рд╛рд▓рд╛рдВрдХрд┐ REST рдХрд╛рдлреА рд╕рдордп рддрдХ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдорд╛рдирдХ рдмрдирд╛ рд░рд╣рд╛, рд╣рд╛рд▓ рдХреЗ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рдлреЗрд╕рдмреБрдХ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдПрдХ рдЕрдиреНрдп рддрдХрдиреАрдХ рдиреЗ рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рд╣рд╛рд╕рд┐рд▓ рдХреА рд╣реИ: рдЗрд╕реЗ рдЧреНрд░рд╛рдлрдХрд▓рд╛рдЗрди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдЖрд▓реЗрдЦ, рдЧреНрд░рд╛рдлрдХреНрдпреВрдПрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░рд┐рдЪрдп, рдЗрд╕ рдХреНрд╡реЗрд░реА рднрд╛рд╖рд╛ рдХреЗ рдкреЗрд╢реЗрд╡рд░реЛрдВ рдФрд░ рд╡рд┐рдкрдХреНрд╖реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддрд╛ рд╣реИред

GraphQL рдХреНрдпрд╛ рд╣реИ?

рдЧреНрд░рд╛рдлрдХреЙрдЗрд▓ рдХреА рддрд╛рдХрдд рдФрд░ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреА рдЪрд░реНрдЪрд╛ рдореЗрдВ рдЧреЛрддрд╛ рд▓рдЧрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рджреЗрдВ: рдЧреНрд░рд╛рдлрдХреЙрдЗрди рдХреНрдпрд╛ рд╣реИ? GraphQL 2012 рдореЗрдВ рдлреЗрд╕рдмреБрдХ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЧрдИ рдПрдХ рдлреНрд░реАрд╡реЗрдпрд░ рдХреНрд╡реЗрд░реА рднрд╛рд╖рд╛ рд╣реИ ред рд╕реНрд░реЛрдд рдХреЛ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрдкрд╛рдж рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣реА, рдореЛрдмрд╛рдЗрд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднрд╛рд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЖрдВрддрд░рд┐рдХ рддрдХрдиреАрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдлреЗрд╕рдмреБрдХ рдкрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдореЛрдмрд╛рдЗрд▓ рдРрдк рдХреЗ рд╕рд╛рде рдХреНрдпреЛрдВ? рдЧреНрд░рд╛рдлрдХреИрд▓ рдХреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░реЗрд╕реНрдЯ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдХреЗрд╡рд▓ рд╡рд╛рдВрдЫрд┐рдд рдбреЗрдЯрд╛ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ - рдХреЛрдИ рдФрд░ рдЕрдзрд┐рдХ, рдХреЛрдИ рдХрдо рдирд╣реАрдВред рдЧреНрд░рд╛рд╣рдХ рд╣рд░ рдЪреАрдЬ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реЛрддрд╛ рд╣реИ, рдпрд╛рдиреА рдЖрдкред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, REST рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдореЗрдВ рдХрдард┐рдирд╛рдЗрдпрд╛рдБ рдЖрддреА рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдбреЗрдЯрд╛рдмреЗрд╕ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ рдЬреЛ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ URL рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрд╕рд╛рдзрди рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдЬрд╛рдирдХрд╛рд░реА рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧреАред рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рдбреЗрдЯрд╛ рд╕реИрдВрдкрд▓рд┐рдВрдЧ рдХрд╛ рдЕрдиреБрд░реЛрдз рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рд╛рдордиреЗ рд╡рд╛рд▓реЗ рдХреЛ рд╕рдВрд╕рд╛рдзрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рднрд▓реЗ рд╣реА рдЙрд╕реЗ рдЗрд╕ рдбреЗрдЯрд╛ рдХрд╛ рдХреЗрд╡рд▓ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ "рдкреБрди: рдирдореВрдирд╛рдХрд░рдг" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдХреНрд▓рд╛рдЗрдВрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рди рдХреЗрд╡рд▓ рдПрдХ, рдмрд▓реНрдХрд┐ рдХрдИ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдкрдврд╝рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдпрд╣ рди рдХреЗрд╡рд▓ рдлрд┐рд░ рд╕реЗ рдирдореВрдиреЗ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд▓реНрдХрд┐ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд╣рд┐рдорд╕реНрдЦрд▓рди рдЬреИрд╕реА рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЗрд╕ рддрд░рд╣ рдХреА рдХреНрд╡реЗрд░реА рднрд╛рд╖рд╛ рдЧреНрд░рд╛рдлрд╝рд┐рдХрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХреА рдЬрд╛рддреА рд╣реИ, рди рдХреЗрд╡рд▓ рд╕рд░реНрд╡рд░ рдкрд░, рдмрд▓реНрдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд╛рдЗрдб рдкрд░ рднреА, рдХреНрд▓рд╛рдЗрдВрдЯ рдпрд╣ рддрдп рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЙрд╕реЗ рдХрд┐рд╕ рдбреЗрдЯрд╛ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ - рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╡рд╣ рд╕рд░реНрд╡рд░ рдХреЛ рдХреЗрд╡рд▓ рдПрдХ рдЕрдиреБрд░реЛрдз рднреЗрдЬрддрд╛ рд╣реИред рдЬрдм рдлреЗрд╕рдмреБрдХ рдиреЗ рдЧреНрд░рд╛рдлрд╝рд┐рдХрд▓ рднрд╛рд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдП, рддреЛ рдиреЗрдЯрд╡рд░реНрдХ рд▓реЛрдб рдХреЛ рдХрд╛рдлреА рдХрдо рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЧрдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдмрд╣реБрдд рдХрдо рдбреЗрдЯрд╛ рдЗрд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд▓рдЧрд╛ред

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

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

 //  GraphQL author(id: "7") { id name avatarUrl articles(limit: 2) { name urlSlug } } //   GraphQL { "data": { "author": { "id": "7", "name": "Robin Wieruch", "avatarUrl": "https://domain.com/authors/7", "articles": [ { "name": "The Road to learn React", "urlSlug": "the-road-to-learn-react" }, { "name": "React Testing Tutorial", "urlSlug": "react-testing-tutorial" } ] } } } 

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

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

рд░реЗрдЦрд╛рдВрдХрди рд▓рд╛рдн

рдПрдХ рдЖрд╡реЗрджрди рдореЗрдВ рдЧреНрд░рд╛рдлрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдореБрдЦреНрдп рд▓рд╛рдн рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИрдВред

рдШреЛрд╖рдгрд╛рддреНрдордХ рдбреЗрдЯрд╛ рдирдореВрдирд╛рдХрд░рдг

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

рдЧреНрд░рд╛рдлрдХреЙрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ рдХреЛрдИ рдкреБрдирдГ рдирдореВрдирд╛ рдирд╣реАрдВ

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

рдЧреНрд░рд╛рдлрдХ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛, рдХреЛрдгреАрдп, рдиреЛрдб, рдЖрджрд┐ред

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

GraphQL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреМрди рдХрд░рддрд╛ рд╣реИ?

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


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

рд╕рддреНрдп рдХрд╛ рдПрдХ рд╕реНрд░реЛрдд

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

рдЧреНрд░рд╛рдлрдХреЙрдХ рд╡рд░реНрддрдорд╛рди рд░реБрдЭрд╛рдиреЛрдВ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддрд╛ рд╣реИ

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

рджреВрд╕рд░реА рдУрд░, рд╕рд░реНрд╡рд░ рдкрд░ рд╣рдо рдПрдХ рдЖрдВрддрд░рд┐рдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдорд╛рдЗрдХреНрд░реЛрд╕рд┐рд╕реНрдЯрд░реНрд╕ рдХрд╛ рдПрдХ рд╕рдореВрд╣, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдЕрдкрдиреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЗрд╕ рддрд░рд╣ рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рд╣реИ рдХрд┐ рдЧреНрд░рд╛рдлрдХреЙрд▓ рдпреЛрдЬрдирд╛ рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдЕрдиреБрдХреВрд▓ рд╣реИ, рдЬрд┐рд╕рдХреА рд╕рдВрд░рдЪрдирд╛ рдРрд╕реА рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рдЧреНрд░рд╛рдлрдХреЙрд▓ рдпреЛрдЬрдирд╛ рдореЗрдВ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдПрдХрддреНрд░ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред

рдХреИрд╕реЗ рд░реЗрдЦрд╛рдВрдХрди рд╕реНрдХреАрдорд╛ рдЯрд╛рдБрдХреЗ

рд╕рд┐рд▓рд╛рдИ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдЖрдк рдХрдИ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рд╕реЗ рдПрдХ рдпреЛрдЬрдирд╛ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдХрдм рдкрд╣реБрдБрдЪ рд╕рдХрддрд╛ рд╣реВрдБ? рдорд╛рди рд▓реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдмреИрдХрдПрдВрдб рдХреЛ рдПрдХ рдорд╛рдЗрдХреНрд░реЛрд╕реНрдХреЛрд░рд╡рд░реНрдХ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлрд╝реНрдЯ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рд╖рдп рдХреНрд╖реЗрддреНрд░ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдФрд░ рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдкреНрд░рддреНрдпреЗрдХ microservice рдЕрдкрдиреЗ рдЦреБрдж рдХреЗ GraphQL рд╕реНрдХреАрдорд╛ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЙрд╕рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рд╕рднреА рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╕рд╛рде рд╕рд┐рд▓рд╛рдИ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЬрд┐рд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдПрдХреНрд╕реЗрд╕ рдХрд░реЗрдЧрд╛ред рдЕрдВрдд рдореЗрдВ, рдкреНрд░рддреНрдпреЗрдХ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕ рдХрд╛ рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдЧреНрд░рд╛рдлрдХреНрдпреВрдПрд▓ рдЯрд░реНрдорд┐рдирд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдПрдХ рдЧреНрд░рд╛рдлрдХреНрдпреВрдПрд▓ рдПрдкреАрдЖрдИ рдЧреЗрдЯрд╡реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдПрдХ рдореЗрдВ рд╕рдореЗрдХрд┐рдд рдХрд░реЗрдЧрд╛ред

рдЖрддреНрдордирд┐рд░реАрдХреНрд╖рдг рдЧреНрд░рд╛рдлрдХреНрд▓рд╛рдЗрди

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

рджреГрдврд╝рддрд╛ рд╕реЗ рдЯрд╛рдЗрдк рдХрд┐рдП рдЧрдП рдЧреНрд░рд╛рдлрд╝рдХ

GraphQL рдПрдХ рдЕрддреНрдпрдзрд┐рдХ рдЯрд╛рдЗрдк рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдХреНрд╡реЗрд░реА рднрд╛рд╖рд╛ рд╣реИ, рдЬреЛ GraphQL рдХреЗ рд▓рд┐рдП рдЕрд░реНрдердкреВрд░реНрдг рд╕реНрдХреАрдорд╛ рдкрд░рд┐рднрд╛рд╖рд╛ рднрд╛рд╖рд╛ (SDL) рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ рд╣реИред рдЗрд╕ рднрд╛рд╖рд╛ рдХреЗ рд╕рдорд╛рди рд╣реА рдлрд╛рдпрджреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдХрд┐ рдХреЛрдИ рднреА рджреГрдврд╝рддрд╛ рд╕реЗ рдЯрд╛рдЗрдк рдХреА рдЧрдИ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ред рдпрд╣ рдХрдо рддреНрд░реБрдЯрд┐ рд╡рд╛рд▓рд╛ рд╣реИ, рд╕рдВрдХрд▓рди рд╕рдордп рдкрд░ рдорд╛рдиреНрдп рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕рдорд░реНрдерди рдЖрдИрдбреАрдИ / рд╕рдВрдкрд╛рджрдХ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдЬреИрд╕реЗ рдХрд┐ рдСрдЯреЛреЛрдХрдореНрдкрд┐рд╢рди рдФрд░ рдЗрдирдкреБрдЯ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЧрд┐рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╡рд░реНрдЬрдирд┐рдВрдЧ рдЧреНрд░рд╛рдлрд╝рд┐рдХрд▓

GraphQL рдореЗрдВ рдРрд╕реЗ рдПрдкреАрдЖрдИ рд╕рдВрд╕реНрдХрд░рдг рдирд╣реАрдВ рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдо REST рдореЗрдВ рдХрд░рддреЗ рд╣реИрдВред REST рдореЗрдВ, рд╕рдорд╛рди API (рдЙрджрд╛ред Api.domain.com/v1/, api.domain.com/v2/) рдХреЗ рдХрдИ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рдирд╛ рд╕рд╛рдорд╛рдиреНрдп рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рдВрд╕рд╛рдзрди рдпрд╛ рдЙрдирдХреА рд╕рдВрд░рдЪрдирд╛ рд╕рдордп рдХреЗ рд╕рд╛рде рдмрджрд▓ рд╕рдХрддреА рд╣реИред рдЧреНрд░рд╛рдлрдХреЙрдЗрди рдореЗрдВ, рдЖрдк рдПрдкреАрдЖрдИ рдХреЛ рдЧреИрд░-рдЕрдиреБрд╢рдВрд╕рд┐рдд рд▓реЛрдЧреЛрдВ рдХреЗ рдХреНрд╖реЗрддреНрд░ рд╕реНрддрд░ рдкрд░ рдЕрдиреБрд╡рд╛рдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдЧреИрд░-рдЕрдиреБрд╢рдВрд╕рд┐рдд рдлрд╝реАрд▓реНрдб рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдкрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рдорд┐рд▓рддреА рд╣реИред рдХреБрдЫ рд╕рдордп рдмрд╛рдж, рдЧреИрд░-рдЕрдиреБрд╢рдВрд╕рд┐рдд рдХреНрд╖реЗрддреНрд░ рдХреЛ рдпреЛрдЬрдирд╛ рд╕реЗ рдмрд╛рд╣рд░ рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдлрд┐рд░ рдХреЛрдИ рднреА рдЕрдзрд┐рдХ рдЧреНрд░рд╛рд╣рдХ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╡рд░реНрдЬрдирд▓рд╛рдЗрди рдПрдкреАрдЖрдИ рдХреЛ рд╡рд░реНрдЬрдирд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдмрдврд╝рддрд╛ рдЧреНрд░рд╛рдлрдХреЙрд▓ рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдо

рдЧреНрд░рд╛рдлрдХреЙрд▓ рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдо рдмрдврд╝ рд░рд╣рд╛ рд╣реИред рдпрд╣ рдЧреНрд░рд╛рдлрд╝рд┐рдХрд▓ рдХреЗ рджреГрдврд╝рддрд╛ рд╕реЗ рдЯрд╛рдЗрдк рдХрд┐рдП рдЧрдП рд╕реНрд╡рднрд╛рд╡ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдВрдкрд╛рджрдХреЛрдВ рдФрд░ рдЖрдИрдбреАрдИ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИ; рдЗрд╕ рддрд░рд╣ рдХреЗ рд░реВрдк рдореЗрдВ GraphQL рдХреЗ рд▓рд┐рдП, рдирдП рдкреВрд░реНрдг рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдкреЛрд╕реНрдЯрдореИрди рдХреЛ рдпрд╛рдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд░реАрд╕реНрдЯ рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдЕрдм рдЙрд╕реА рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП, рд▓реЗрдХрд┐рди рдЧреНрд░рд╛рдлрдХрд╛рдЗрдирд▓ рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде, рдЧреНрд░рд╛рдлрд┐рдХреНрд╡реЗрд▓ рдпрд╛ рдЧреНрд░рд╛рдлрдХреНрдпреВрдПрд▓ рдкреНрд▓реЗрдЧреНрд░рд╛рдЙрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдкрдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдкреБрд╕реНрддрдХрд╛рд▓рдп рднреА рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Gatsby.js, React рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдерд┐рд░ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдЬрдирд░реЗрдЯрд░ рдЬреЛ рдЧреНрд░рд╛рдлрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Gatsby.js рдЖрдкрдХреЛ рдПрдХ рдмреНрд▓реЙрдЧ рдЗрдВрдЬрди рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рдмреНрд▓реЙрдЧ рдХреЛ рдЧреНрд░рд╛рдлрдХреЙрд▓ рдПрдкреАрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рджреМрд░рд╛рди рд╕рд╛рдордЧреНрд░реА рд╕реЗ рднрд░ рджреЗрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЖрдкрдХреЗ рдкрд╛рд╕ рдЧреНрд░рд╛рдлрд╝рд┐рдХреНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд╛рдордЧреНрд░реА (рдПрдХ рдмреНрд▓реЙрдЧ рдХреЗ рд▓рд┐рдП) рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рднрд╛рдЧ (рдЬреИрд╕реЗ рдЧреНрд░рд╛рдлрд╕реАрдПрдордПрд╕) рдХреЗ рдмрд┐рдирд╛ рд╕реАрдПрдордПрд╕ рднреА рд╣реЛрдВрдЧреЗред рдПрдкреАрдЖрдИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рди рдХреЗрд╡рд▓ рддрдХрдиреАрдХреА рдШрдЯрдХ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣реЗ рд╣реИрдВред рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рдмрд╛рд░рд┐рд╢ рдХреЗ рдмрд╛рдж рдорд╢рд░реВрдо рдмрдврд╝рддреЗ рд╣реИрдВ, рдЧреНрд░рд╛рдлрдХреНрдпреВрдПрд▓ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рд╕рдореНрдореЗрд▓рдиреЛрдВ, рдорд╛рдЗрдЯреИрдкреНрд╕ рдФрд░ рд╕рдореБрджрд╛рдпреЛрдВ рдХреЛ рднреА рдпрд╣ рд╕рдорд╛рдЪрд╛рд░ рдкрддреНрд░ рдФрд░ рдкреЙрдбрдХрд╛рд╕реНрдЯ рдкрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдорд┐рд▓ рдЬрд╛рддрд╛ рд╣реИред

рдЕрдЧрд░ рдореИрдВ рдЧреНрд░рд╛рдлрдХреЙрд▓ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рддрд╛ рд╣реВрдВ - рдХреНрдпрд╛ рдореИрдВ рдСрд▓-рдЗрди рдЬрд╛рддрд╛ рд╣реВрдВ?

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

рдЧреНрд░рд╛рдлрдХреЙрд▓ рдХреЗ рдиреБрдХрд╕рд╛рди

рдЕрдЧрд▓рд╛, рд╣рдо рдЧреНрд░рд╛рдлрдХреЙрд▓ рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдЬреБрдбрд╝реЗ рдХреБрдЫ рдиреБрдХрд╕рд╛рдиреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рддреЗ рд╣реИрдВред

рдЧреНрд░рд╛рдлрдХреНрд▓рд╛рдЗрди рдкреНрд░рд╢реНрди рдЬрдЯрд┐рд▓рддрд╛

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

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

GraphQL рдореЗрдВ рд╕реНрдкреАрдб рд▓рд┐рдорд┐рдЯ

рдПрдХ рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛ рдЧрддрд┐ рд╕реАрдорд╛ рд╣реИред рдЬрдмрдХрд┐ REST рдореЗрдВ рдпрд╣ рдХрд╣рдирд╛ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕рд░рд▓ рд╣реИ рдХрд┐ "рдкреНрд░рддрд┐ рджрд┐рди рдЗрддрдиреЗ рдЕрдзрд┐рдХ рдкреНрд░рд╢реНрдиреЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ", рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЧреНрд░рд╛рдлрдХреЙрд▓ рдСрдкрд░реЗрд╢рдВрд╕ рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рдХреЗ рдирд┐рд░реНрджреЗрд╢ рдХреЛ рддреИрдпрд╛рд░ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рди рдХреЗрд╡рд▓ "рдорд╣рдВрдЧрд╛" рдФрд░ "рдЧреИрд░-рдорд╣рдВрдЧрд╛" рд╕рдВрдЪрд╛рд▓рди рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдХрдИ рдордзреНрдпрд╡рд░реНрддреА рдЙрдиреНрдирдпрди рднреА рд╣реИрдВред рдпрд╣ рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╣реИ рдЬреЛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЧреНрд░рд╛рдлрдХреЙрд▓ рдПрдкреАрдЖрдИ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рд╡рд╛рд▓реА рдХрдВрдкрдирд┐рдпрд╛рдВ рдЕрдкрдиреА рдЧрддрд┐ рд╕реАрдорд╛ рдЧрдгрдирд╛ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рддреА рд╣реИрдВ , рдЬреЛ рдЕрдХреНрд╕рд░ рдХреНрд╡реЗрд░реА рдХреА рдЧрд╣рд░рд╛рдИ рдХреЗ рдХреНрд╡реЗрд░реА рдЧрд╣рд░рд╛рдИ рдФрд░ рднрд╛рд░ рдХреЗ рдЕрдзрд┐рдХрддрдо рдореВрд▓реНрдпреЛрдВ рдХреЛ рдХрдо рдХрд░рддреА рд╣реИрдВред

рд░реЗрдЦрд╛рдВрдХрди рдХреИрд╢рд┐рдВрдЧ

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

рдмрд╛рдХреА рдХреНрдпреЛрдВ рдирд╣реАрдВ?

GraphQL тАУ REST, . REST тАУ GraphQL, REST?
REST URL , . ┬л┬╗, id, , id. GraphQL , . , , , GraphQL , .

, REST. Airbnb. , . REST-, REST- . , , GraphQL API, GraphQL, (, ), (., ).

, GraphQL ; , , , . GraphQL тАУ Facebook , -.

, , REST тАУ . , GraphQL. , GraphQL, - .

Source: https://habr.com/ru/post/hi424037/


All Articles