ð§ŸGraphQLã䜿ãã¢ãããŒã·ã§ã³ãæŽçãã@2022-09
åè
-
ãªãGraphQLã䜿ãã¹ãã§ã¯ãªãã®ã
-
GraphQLã®ã¡ãªãã
-
ãŠãŒã¹ã±ãŒã¹ã«åŸã£ãŠæè»ãªãã§ãããå¯èœ
-
è€æ°ã®ã¯ãšãªãå¿
èŠãšããäžåºŠã«ååŸã§ãã
-
å³å¯ã«åä»ãããã€ã³ã¿ãŒãã§ãŒã¹ãäœæã§ãã
-
APIããã®ãŸãŸããã¥ã¡ã³ãã«ãªã(self-documenting)
-
åä»ã
-
ããã¯ãã®éã
-
ãµãŒããŒåŽãå®è£
ããã°ãã®ã¹ããŒãããã®ãŸãŸããã³ãã®åä»ãã«äœ¿çšã§ãã
-
ãã ãOpenAPIãgRPCãªã©ãã®ä»ã®ãããã³ã«ã§ãããã¯å®çŸå¯èœ
-
ãããã³ã«ãå
ã«å®çŸ©ããŠåãããŒã«ã§çæããããã«åŸã£ãŠAPIãäœæããããšããé çªã¯å€ãããªã
-
self-documenting
-
ãããäžéšæ£ãã
-
ãã ãAPIã¯æè¡çä»æ§ãããããŠãŒã¹ã±ãŒã¹ãçç±ãªã©ãå¿
èŠãšããå Žåãå€ã
-
GraphQLã䜿çšãããããšèšã£ãŠãããèªåçã«å®çŸåºæ¥ãããã§ã¯ãªã
-
çµå±ããçšåºŠã®åªåãå¿
èŠ
-
GraphQLã¯çŽ æŽããããã®ããä»ã®ããŒã«ã§ã代æ¿å¯èœ
-
ãªãGraphQLãªã®ã
-
GraphQLã解決ããåé¡ãšãã®å
ã®ãŠãŒã¹ã±ãŒã¹
-
RESTã®åé¡ç¹
-
ã¯ã©ã€ã¢ã³ãåŽ
-
å®è£
ã³ã¹ã
-
å¢å€§ãããšã³ããã€ã³ãã«å¯Ÿå¿ããã®ã倧å€
-
ãšã³ããã€ã³ãæ¯ã®ä»æ§ã«å¯Ÿå¿ããã®ã倧å€
-
ã¯ã©ã€ã¢ã³ãä»»ããªç¶æ
管ç
-
ããŒããŠã§ã¢ã®äœ¿çšãªãœãŒã¹
-
å¢å€§ãããªã¯ãšã¹ãæ°(CPU, ã¡ã¢ãª, ãããã¯ãŒã¯ã䜿çšãã)
-
å©çšãããªãåä¿¡ããŒã¿ãåãåãäºã«ããç¡é§ãªéä¿¡ã³ã¹ã
-
ãµãŒããŒãµã€ãåŽ
-
ãµãŒããŒãµã€ãã®åé¡æè
-
ãŠãŒã¹ã±ãŒã¹æ¯ã®APIãç
©ããã
-
ã¯ã©ã€ã¢ã³ãéœåã§ãµãŒããŒãµã€ãå®è£
ãå€ããç
©ããã
-
APIããã¥ã¡ã³ãã®ç
©ããã
-
ã³ãã¥ãã±ãŒã·ã§ã³ã³ã¹ãå¢
-
åŸåãšããŠ
-
ãµãŒããŒãµã€ãéœåãªAPIã«ãªããã¡
-
APIã®Presentation-Domain Seperationãåºæ¥ã
-
ã¯ã©ã€ã¢ã³ãåŽãå«ãããã¶ã€ã³ã§ç¶æ
管çãGraphQLã§è¡ãã
-
ããã¯ç¢ºãã«åŒ·ã
-
Fluxç³»ã®ç¶æ
管çææ³ãGraphQL Clientã§ãã®ãŸãŸäœ¿ãã
-
ç¶æ
ããã£ãã·ã¥ãšããŠä¿æ
æŽç
è€æ°ã®APIãã€ã¯ããµãŒãã¹ããŸãšããBFFãäœã£ãŠãããã«ãã¡ã€ã³ç¥èãæããã
-
GraphQLã䜿ã掟ã䜿ããªã掟ã«ãå
±éããŠããèªè
-
åæ£ãããRESTã«æ°å€ãã®ã¯ãšãªãæããããã³ãã®è² æ
ãäžããŠãã
-
GraqhQLããã®åé¡ã解決ãã
-
ãšã³ããã€ã³ããäžã€ã§ããŠãŒã¶ãŒããŠãŒã¹ã±ãŒã¹ã«åŸã£ãŠã¯ãšãªãæããã ã
-
RESTã§ãBFFãäœãã°è¯ãã ã
-
GraphQLãæ¡çšããã³ã¹ããªãã«ãã¡ãªããã ãåŸããã
-
Nextã®API Routeãªã©ã¯ãã®æããäŸ
çµè«
ãµãŒãã®APIå®è£
ã«ã³ã¹ããæãããããªãGraphQLãæ¡çšããŠãããã§ãªããªããã®ãŸãŸRESTã䜿ããBFFãæ§ç¯ãã
é »ç¹ã«å€æŽããªãAPIã§ããã°GraphQLãæ¡çšããã¡ãªããã¯ç¡ãçšã«æãã
æè»ãªã¯ãšãªãå¿
èŠãªãå ŽåãReadãããŒãªå Žåãããã