$lang['tuto'] = "ಟ್ಯುಟೋರಿಯಲ್"; ?>$lang['tuto'] = "ಟ್ಯುಟೋರಿಯಲ್"; ?>$lang['tuto'] = "ಟ್ಯುಟೋರಿಯಲ್"; ?> GraphQL ನಲ್ಲಿ ಆಬ್ಜೆಕ್ಟ್

GraphQL ನಲ್ಲಿ ಆಬ್ಜೆಕ್ಟ್ ವಿಧಗಳಿಗೆ ಪ್ರಮುಖ ನಿರ್ದೇಶನವನ್ನು ಅನ್ವಯಿಸಲು HotChocolate ಅನ್ನು ಹೇಗೆ ಬಳಸುವುದು

GraphQL ನಲ್ಲಿ ಆಬ್ಜೆಕ್ಟ್ ವಿಧಗಳಿಗೆ ಪ್ರಮುಖ ನಿರ್ದೇಶನವನ್ನು ಅನ್ವಯಿಸಲು HotChocolate ಅನ್ನು ಹೇಗೆ ಬಳಸುವುದು
GraphQL ನಲ್ಲಿ ಆಬ್ಜೆಕ್ಟ್ ವಿಧಗಳಿಗೆ ಪ್ರಮುಖ ನಿರ್ದೇಶನವನ್ನು ಅನ್ವಯಿಸಲು HotChocolate ಅನ್ನು ಹೇಗೆ ಬಳಸುವುದು

HotChocolate ನಲ್ಲಿ ಪ್ರಮುಖ ನಿರ್ದೇಶನದೊಂದಿಗೆ ಆಬ್ಜೆಕ್ಟ್ ಪ್ರಕಾರಗಳನ್ನು ಉತ್ತಮಗೊಳಿಸುವುದು

HotChocolate ನೊಂದಿಗೆ GraphQL ಅನ್ನು ಬಳಸುವಾಗ, ನಿಮ್ಮ ವಸ್ತು ಪ್ರಕಾರಗಳನ್ನು ನೀವು ನಿರ್ದೇಶನಗಳೊಂದಿಗೆ ವಿಸ್ತರಿಸಬೇಕಾಗಬಹುದು, ಉದಾಹರಣೆಗೆ @ಕೀ ಅಪೊಲೊ ಫೆಡರೇಶನ್‌ನೊಂದಿಗೆ ಹೊಂದಾಣಿಕೆಯನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ನಿರ್ದೇಶನ. ಫೆಡರೇಟೆಡ್ ಸ್ಕೀಮಾಗಳಿಗೆ ಇದು ವಿಶೇಷವಾಗಿ ಮುಖ್ಯವಾಗಿದೆ, ಇದರಲ್ಲಿ ಕೀಗಳು ಹಲವಾರು ಸೇವೆಗಳಾದ್ಯಂತ ಘಟಕಗಳನ್ನು ಗುರುತಿಸುತ್ತವೆ. ಈ ನಿರ್ದೇಶನಗಳೊಂದಿಗೆ ನಿಮ್ಮ ಆಬ್ಜೆಕ್ಟ್ ಪ್ರಕಾರಗಳನ್ನು ಸರಿಯಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸುವುದು ಹೇಗೆ ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು ಬಹಳ ಮುಖ್ಯ.

ಹೇಗೆ ಬಳಸುವುದು ಎಂಬುದನ್ನು ಈ ಲೇಖನವು ತೋರಿಸುತ್ತದೆ ಹಾಟ್ ಚಾಕೊಲೇಟ್ ಬಳಸಿ ವಸ್ತು ಪ್ರಕಾರಗಳನ್ನು ಅಲಂಕರಿಸಲು @ಕೀ ನಿರ್ದೇಶನ. ಸರಳವನ್ನು ನಿರ್ಮಿಸಲು C# ಕೋಡ್ ಅನ್ನು ಬಳಸುವ ನಿರ್ದಿಷ್ಟ ಉದಾಹರಣೆಗಳನ್ನು ಸಹ ನಾವು ನೋಡುತ್ತೇವೆ ಪೋಷಕ ವರ್ಗ ಮತ್ತು ಉತ್ಪಾದಿಸಿದ GraphQL ಸ್ಕೀಮಾವನ್ನು ಹೇಗೆ ಬದಲಾಯಿಸುವುದು. ಈ ಕಾರ್ಯವನ್ನು ರಚಿಸಲು ನೀವು ತೆಗೆದುಕೊಳ್ಳಬಹುದಾದ ನಿಜವಾದ ಕ್ರಮಗಳ ಮೇಲೆ ಒತ್ತು ನೀಡಲಾಗುವುದು.

GraphQL ಆಬ್ಜೆಕ್ಟ್ ಪ್ರಕಾರಗಳನ್ನು ನಿರ್ಮಿಸಲು HotChocolate ಬಳಸುವಾಗ, ದಿ @ಕೀ ನಿರ್ದೇಶನವನ್ನು ನಿರೀಕ್ಷಿಸಿದಂತೆ ತಕ್ಷಣವೇ ಅನ್ವಯಿಸಲಾಗುವುದಿಲ್ಲ. ಬದಲಿಗೆ, ಸ್ಕೀಮಾವು ಸರಳ ರೀತಿಯ ರಚನೆಯನ್ನು ಉಂಟುಮಾಡಬಹುದು, ಅದು ಫೆಡರೇಶನ್‌ಗೆ ಅಗತ್ಯವಾದ ನಿರ್ಣಾಯಕ ಲಕ್ಷಣಗಳನ್ನು ಹೊಂದಿರುವುದಿಲ್ಲ. ಇದನ್ನು ಹೇಗೆ ಪರಿಹರಿಸುವುದು ಮತ್ತು ನಿಮ್ಮ ಸ್ಕೀಮಾವನ್ನು ನಿರೀಕ್ಷಿಸಿದಂತೆ ನಿರ್ವಹಿಸುವುದು ಹೇಗೆ ಎಂಬುದರ ಕುರಿತು ನಾವು ಹೋಗುತ್ತೇವೆ.

ನಿಮ್ಮ ಗ್ರಾಫ್‌ಕ್ಯೂಎಲ್ ಸರ್ವರ್ ಸೆಟಪ್ ಅನ್ನು ಮಾರ್ಪಡಿಸುವುದು ಮತ್ತು ಹಕ್ಕನ್ನು ಬಳಸುವಂತಹ ನಿರ್ಣಾಯಕ ಕಾನ್ಫಿಗರೇಶನ್ ಕಾರ್ಯಗಳನ್ನು ಸಹ ನಾವು ಕವರ್ ಮಾಡುತ್ತೇವೆ ಹಾಟ್ ಚಾಕೊಲೇಟ್ ಮತ್ತು ಅಪೊಲೊ ಫೆಡರೇಶನ್ ಪ್ಯಾಕೇಜುಗಳು. ಸರಿಯಾದ ಕಾನ್ಫಿಗರೇಶನ್‌ನೊಂದಿಗೆ, ನೀವು ಸುಲಭವಾಗಿ ನಿರ್ದೇಶನಗಳನ್ನು ಅನ್ವಯಿಸಬಹುದು ಮತ್ತು ನಿಮ್ಮ ಸೇವೆಗಳಿಗೆ ಸರಿಯಾದ ಸ್ಕೀಮಾ ಫೆಡರೇಶನ್ ಅನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಬಹುದು.

ಆಜ್ಞೆ ಬಳಕೆಯ ಉದಾಹರಣೆ
[ಕೀ] HotChocolate ನಲ್ಲಿ, ಈ ಆಜ್ಞೆಯು ವಸ್ತುವಿನ ಪ್ರಕಾರವನ್ನು ಬಳಸಿ ಅಲಂಕರಿಸುತ್ತದೆ @ಕೀ ನಿರ್ದೇಶನ. ಅಪೊಲೊ ಫೆಡರೇಶನ್‌ನೊಂದಿಗೆ ವ್ಯವಹರಿಸುವಾಗ ಯಾವ ಕ್ಷೇತ್ರವು ಪ್ರಕಾರದ ವಿಶಿಷ್ಟ ಗುರುತಿಸುವಿಕೆಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ಇದು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತದೆ.
[ಉಲ್ಲೇಖ ಪರಿಹಾರಕ] ಒಂದು ವಿಧಾನಕ್ಕೆ ಅನ್ವಯಿಸಿದಾಗ, ಈ ಗುಣಲಕ್ಷಣವು HotChocolate ವಿಧಾನವನ್ನು ಫೆಡರೇಟೆಡ್ ಪ್ರಕಾರಗಳಿಗೆ ರೆಸಲ್ಯೂಶನ್ ಆಗಿ ಬಳಸಲು ಸೂಚಿಸುತ್ತದೆ. ಬಾಹ್ಯ ಉಲ್ಲೇಖಗಳ ಮೂಲಕ ಫೆಡರೇಟೆಡ್ ಸೇವೆಗಳಲ್ಲಿ ಸಂಬಂಧಿತ ಡೇಟಾವನ್ನು ಮರುಪಡೆಯಲು ಇದು ಅನುಮತಿಸುತ್ತದೆ.
.AddApolloFederation() ಈ ಆಜ್ಞೆಯು HotChocolate GraphQL ಸರ್ವರ್‌ನಲ್ಲಿ ಅಪೊಲೊ ಫೆಡರೇಶನ್ ಬೆಂಬಲವನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡುತ್ತದೆ. ಫೆಡರೇಟೆಡ್ ಸ್ಕೀಮಾ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುವುದು ಅವಶ್ಯಕ, ಉದಾಹರಣೆಗೆ @ಕೀ ನಿರ್ದೇಶನ.
.ರಿಜಿಸ್ಟರ್ ಸೇವೆ() ಸೇವೆಯನ್ನು ನೋಂದಾಯಿಸುತ್ತದೆ, ಉದಾಹರಣೆಗೆ ಪೇರೆಂಟ್ ರೆಪೊಸಿಟರಿ, GraphQL DI ಕಂಟೇನರ್‌ನಲ್ಲಿ. ಸೇವೆಗಳನ್ನು ನೇರವಾಗಿ GraphQL ಪರಿಹಾರಕಕ್ಕೆ ಸೇರಿಸಲು ಇದು ನಿಮ್ಮನ್ನು ಅನುಮತಿಸುತ್ತದೆ.
ನಿರ್ದೇಶನ @key(ಕ್ಷೇತ್ರಗಳು: ಸ್ಟ್ರಿಂಗ್!) SDL ಮಾದರಿಯಲ್ಲಿ, ಈ ನಿರ್ದೇಶನವು ಫೆಡರೇಶನ್‌ಗಾಗಿ ಮುಖ್ಯ ಪ್ರಮುಖ ಕ್ಷೇತ್ರವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ. ಕ್ರಾಸ್-ಸರ್ವೀಸ್ ಎಂಟಿಟಿ ರೆಸಲ್ಯೂಶನ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು, ಆಬ್ಜೆಕ್ಟ್ ಪ್ರಕಾರಗಳು ಹೊಂದಿರಬೇಕು @ಕೀ ನಿರ್ದೇಶನ.
IschemaAsync.ExecuteAsync() ಸ್ಕೀಮಾ ಮತ್ತು ನಿರ್ದೇಶನಗಳನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಸಾಮಾನ್ಯವಾಗಿ ಘಟಕ ಪರೀಕ್ಷೆಗಳಲ್ಲಿ ಬಳಸಲಾಗುವ GraphQL ಪ್ರಶ್ನೆಯನ್ನು ಅಸಮಕಾಲಿಕವಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ @ಕೀ, ಸರಿಯಾಗಿ ಅಳವಡಿಸಲಾಗಿದೆ.
[ಸೇವೆ] HotChocolate ನಲ್ಲಿ ಸೇವಾ ಮರುಪಡೆಯುವಿಕೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುವ, GraphQL ಪರಿಹಾರಕ ವಿಧಾನದ ಆರ್ಗ್ಯುಮೆಂಟ್‌ಗಳಿಗೆ ರೆಪೊಸಿಟರಿಗಳು ಅಥವಾ ಸೇವೆಗಳಂತಹ ಅವಲಂಬನೆಗಳನ್ನು ಇಂಜೆಕ್ಟ್ ಮಾಡಲು ಈ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಬಳಸಲಾಗುತ್ತದೆ.
ಪ್ರತಿಪಾದಿಸಿ.ಒಳಗೊಂಡಿದೆ() XUnit ನ ಯುನಿಟ್ ಟೆಸ್ಟಿಂಗ್ ಆಜ್ಞೆಯನ್ನು ಕೆಲವು ತಂತಿಗಳು ಅಥವಾ ನಿರ್ದೇಶನಗಳನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಬಳಸಲಾಗುತ್ತದೆ @ಕೀ ನಿರ್ದೇಶನ, ಪರೀಕ್ಷೆಗಳ ಸಮಯದಲ್ಲಿ ರಚಿಸಲಾದ GraphQL ಸ್ಕೀಮಾದಲ್ಲಿ ಸೇರಿಸಲಾಗಿದೆ.

HotChocolate ನಲ್ಲಿ ಪ್ರಮುಖ ನಿರ್ದೇಶನಗಳ ಪಾತ್ರವನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು

ಮೊದಲ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಹೇಗೆ ಕಾರ್ಯಗತಗೊಳಿಸಬೇಕು ಎಂಬುದನ್ನು ವಿವರಿಸುತ್ತದೆ @ಕೀ C# ನಲ್ಲಿ HotChocolate ಬಳಸುವ ನಿರ್ದೇಶನ. ರಚಿಸಲಾದ GraphQL ಸ್ಕೀಮಾವು ಈ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಒಳಗೊಂಡಿದೆ ಎಂದು ಈ ಸ್ಕ್ರಿಪ್ಟ್ ಖಾತರಿಪಡಿಸುತ್ತದೆ @ಕೀ ಅಪೊಲೊ ಫೆಡರೇಶನ್‌ನೊಂದಿಗೆ ಒಕ್ಕೂಟಕ್ಕೆ ನಿರ್ದೇಶನ. ಎ ಅನ್ನು ರಚಿಸುವ ಮೂಲಕ ಸ್ಕ್ರಿಪ್ಟ್ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ ಪೋಷಕ ವರ್ಗ ಮತ್ತು ನಿಯೋಜಿಸುವುದು [ಕೀ] ಮತ್ತು [ID] ಅದರ ಕ್ಷೇತ್ರಗಳಿಗೆ ಗುಣಲಕ್ಷಣಗಳು. HotChocolate ಅನ್ನು ಗುರುತಿಸಲು ತಿಳಿಸಲು ಈ ಗುಣಲಕ್ಷಣಗಳು ಮುಖ್ಯವಾಗಿವೆ ಐಡಿ ಕ್ಷೇತ್ರವು ಘಟಕದ ಅನನ್ಯ ಗುರುತಿಸುವಿಕೆಯಾಗಿದೆ. ಹಲವಾರು ಸೇವೆಗಳಲ್ಲಿ ಘಟಕಗಳನ್ನು ಹಂಚಿಕೊಳ್ಳಬಹುದಾದ ಫೆಡರೇಟೆಡ್ ಗ್ರಾಫ್‌ಕ್ಯೂಎಲ್ ಸೇವೆಯನ್ನು ರಚಿಸುವಾಗ ಇದು ನಿರ್ಣಾಯಕವಾಗಿದೆ. ಈ ಕ್ಷೇತ್ರವನ್ನು ಗುರುತಿಸುವುದರಿಂದ ಗ್ರಾಫ್‌ಕ್ಯುಎಲ್ ಸೇವೆಯು ಫೆಡರೇಟೆಡ್ ಪ್ರಶ್ನೆಗಳಲ್ಲಿ ಘಟಕವನ್ನು ಪರಿಹರಿಸಲು ಅನುಮತಿಸುತ್ತದೆ.

ದಿ ಉಲ್ಲೇಖ ಪರಿಹಾರಕ ಕಾರ್ಯವು ಸ್ಕ್ರಿಪ್ಟ್‌ನ ಅತ್ಯಗತ್ಯ ಅಂಶವಾಗಿದೆ. ಈ ಸ್ಥಿರ ಕಾರ್ಯವು HotChocolate ಅನ್ನು ಹುಡುಕುವ ಮೂಲಕ ಘಟಕವನ್ನು ಪರಿಹರಿಸಲು ಶಕ್ತಗೊಳಿಸುತ್ತದೆ ಪೋಷಕ ರೆಪೊಸಿಟರಿಯಲ್ಲಿ ವಸ್ತು. ದಿ ಪೇರೆಂಟ್ ರೆಪೊಸಿಟರಿ GraphQL ಸರ್ವರ್‌ನೊಂದಿಗೆ ನೋಂದಾಯಿಸಲಾಗಿದೆ, ಮತ್ತು ಪಡೆಯಿರಿ ವಿಧಾನವು ಅದರ ಮೂಲಕ ಪೋಷಕರನ್ನು ಹಿಂಪಡೆಯುತ್ತದೆ ಐಡಿ. ಬೂಟ್‌ಸ್ಟ್ರ್ಯಾಪ್ ಕೋಡ್‌ನಲ್ಲಿ, ದಿ .AddQueryType ಸೂಚನೆಯು ನೋಂದಾಯಿಸುತ್ತದೆ ಪ್ರಶ್ನೆ ಆಬ್ಜೆಕ್ಟ್, ಇದು GraphQL ಪ್ರಶ್ನೆಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ. RegisterService ParentRepository ನಂತಹ ಅವಲಂಬನೆಗಳನ್ನು GraphQL ಪರಿಹಾರಕಗಳಿಗೆ ಇಂಜೆಕ್ಟ್ ಮಾಡಲು ಅನುಮತಿಸುತ್ತದೆ. ಈ ವಿನ್ಯಾಸವು ಕಾಳಜಿಗಳ ಸ್ಪಷ್ಟವಾದ ಪ್ರತ್ಯೇಕತೆಯನ್ನು ಸಂರಕ್ಷಿಸುವಾಗ ಡೇಟಾ ಮರುಪಡೆಯುವಿಕೆಯನ್ನು ಸರಳಗೊಳಿಸುತ್ತದೆ.

ಎರಡನೆಯ ಉದಾಹರಣೆಯು ಸ್ಕೀಮಾ-ಮೊದಲ ವಿಧಾನವನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ, ಇದನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಲು GraphQL SDL (ಸ್ಕೀಮಾ ಡೆಫಿನಿಷನ್ ಲಾಂಗ್ವೇಜ್) ಅನ್ನು ಬಳಸುತ್ತದೆ. @ಕೀ ಸ್ಕೀಮಾದೊಳಗೆ ನಿರ್ದೇಶನ. GraphQL ನ SDL ಸಿಂಟ್ಯಾಕ್ಸ್‌ನೊಂದಿಗೆ ಈಗಾಗಲೇ ಪರಿಚಿತವಾಗಿರುವ ತಂಡಗಳಿಗೆ ಈ ಪರಿಹಾರವು ವಿಶೇಷವಾಗಿ ಪರಿಣಾಮಕಾರಿಯಾಗಿದೆ. ಈ ಉದಾಹರಣೆಯಲ್ಲಿ, ದಿ @ಕೀ ನಿರ್ದೇಶನವನ್ನು ಅನ್ವಯಿಸಲಾಗುತ್ತದೆ ಪೋಷಕ ಪ್ರಕಾರ, ಸ್ಪಷ್ಟವಾಗಿ ಸೂಚಿಸುತ್ತದೆ ಐಡಿ ಕ್ಷೇತ್ರ ಅನನ್ಯ ಗುರುತಿಸುವಿಕೆ. ಸ್ಕೀಮಾ-ಫಸ್ಟ್ ಅನ್ನು ಬಳಸುವುದು ಡೆವಲಪರ್‌ಗಳಿಗೆ ಗ್ರಾಫ್‌ಕ್ಯೂಎಲ್ ಸ್ಕೀಮಾವನ್ನು ಹೇಗೆ ನಿರ್ಮಿಸಲಾಗಿದೆ ಎಂಬುದರ ಕುರಿತು ಹೆಚ್ಚಿನ ನಿಯಂತ್ರಣವನ್ನು ಹೊಂದಲು ಮತ್ತು C# ಕೋಡ್‌ಗೆ ಹೋಗದೆಯೇ ಅದನ್ನು ಮಾರ್ಪಡಿಸಲು ಅನುಮತಿಸುತ್ತದೆ, ಇದು ದೊಡ್ಡ ತಂಡಗಳಿಗೆ ಹೆಚ್ಚು ಹೊಂದಿಕೊಳ್ಳುವ ಆಯ್ಕೆಯಾಗಿದೆ.

ಅಂತಿಮವಾಗಿ, ಯೂನಿಟ್ ಟೆಸ್ಟಿಂಗ್ ಘಟಕವು ಕೋಡ್ ಉದ್ದೇಶಿಸಿದಂತೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂದು ಮೌಲ್ಯೀಕರಿಸುತ್ತದೆ. xUnit ಪರೀಕ್ಷಾ ಚೌಕಟ್ಟನ್ನು ಬಳಸಿಕೊಂಡು, Assert.The ಒಳಗೊಂಡಿದೆ ಆಜ್ಞೆಯು ಫಲಿತಾಂಶದ ಸ್ಕೀಮಾವನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ @ಕೀ ನಿರ್ದೇಶನ. ಈ ಪರೀಕ್ಷೆಯು ಉಪಸ್ಥಿತಿಗಾಗಿ ಸ್ಕೀಮಾವನ್ನು ಮೌಲ್ಯೀಕರಿಸುತ್ತದೆ @ಕೀ ನಿರ್ದೇಶನ, ಸೇವೆಯನ್ನು ಫೆಡರೇಶನ್‌ಗಾಗಿ ಸರಿಯಾಗಿ ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ. ನಿಮ್ಮ GraphQL ಸ್ಕೀಮಾ ಅಥವಾ ಪರಿಹಾರಕ ವಿಧಾನಗಳಲ್ಲಿನ ಬದಲಾವಣೆಗಳು ಕಾರ್ಯಚಟುವಟಿಕೆಯನ್ನು ಅಡ್ಡಿಪಡಿಸುವುದಿಲ್ಲ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಯುನಿಟ್ ಪರೀಕ್ಷೆಯು ಉತ್ತಮ ಅಭ್ಯಾಸವಾಗಿದೆ, ವಿಶೇಷವಾಗಿ ಫೆಡರೇಟೆಡ್ ವ್ಯವಸ್ಥೆಯಲ್ಲಿ ಬಹು ಸೇವೆಗಳು ಮನಬಂದಂತೆ ಕಾರ್ಯನಿರ್ವಹಿಸಬೇಕು.

ಗ್ರಾಫ್‌ಕ್ಯುಎಲ್ ಆಬ್ಜೆಕ್ಟ್ ವಿಧಗಳಿಗಾಗಿ ಹಾಟ್‌ಚಾಕೊಲೇಟ್‌ನಲ್ಲಿ ಪ್ರಮುಖ ನಿರ್ದೇಶನವನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವುದು

ಬ್ಯಾಕೆಂಡ್‌ನಿಂದ GraphQL ಸ್ಕೀಮಾವನ್ನು ಮಾರ್ಪಡಿಸಲು ಈ ಪರಿಹಾರವು C#, HotChocolate ಮತ್ತು Apollo ಫೆಡರೇಶನ್ ಅನ್ನು ಬಳಸುತ್ತದೆ.

using HotChocolate;
using HotChocolate.Types;
using HotChocolate.Types.Relay;
using Microsoft.Extensions.DependencyInjection;
public class Parent
{
    public Parent(string id, string name)
    {
        Id = id;
        Name = name;
    }
    [Key]
    [ID]
    public string Id { get; }
    public string Name { get; }
    [ReferenceResolver]
    public static Parent? Get(ParentRepository repository, string id)
    {
        return repository.GetParent(id);
    }
}
public class Query
{
    public Parent GetParent(string id, [Service] ParentRepository repository)
    {
        return repository.GetParent(id);
    }
}
public void ConfigureServices(IServiceCollection services)
{
    services.AddGraphQLServer()
        .AddQueryType<Query>()
        .RegisterService<ParentRepository>()
        .AddApolloFederation();
}

@key ಡೈರೆಕ್ಟಿವ್ ಅನ್ನು ಅನ್ವಯಿಸಲು GraphQL ಸ್ಕೀಮಾ ಮೊದಲ ವಿಧಾನವನ್ನು ಬಳಸುವುದು

ಈ ಪರಿಹಾರವು @key ನಿರ್ದೇಶನದೊಂದಿಗೆ ಕಸ್ಟಮ್ ಸ್ಕೀಮಾವನ್ನು ನಿರ್ಮಿಸಲು GraphQL SDL ಮತ್ತು HotChocolate ನೊಂದಿಗೆ ಸ್ಕೀಮಾ-ಮೊದಲ ವಿಧಾನವನ್ನು ಬಳಸುತ್ತದೆ.

type Parent @key(fields: "id") {
    id: ID!
    name: String!
}
extend type Query {
    parent(id: ID!): Parent
}
extend type Mutation {
    createParent(id: ID!, name: String!): Parent
}
directive @key(fields: String!) on OBJECT | INTERFACE

schema {
    query: Query
    mutation: Mutation
}

@key ಡೈರೆಕ್ಟಿವ್‌ನೊಂದಿಗೆ ಹಾಟ್‌ಚಾಕೊಲೇಟ್ ಗ್ರಾಫ್‌ಕ್ಯೂಎಲ್ ಅನ್ನು ಪರೀಕ್ಷಿಸುವ ಘಟಕ

HotChocolate ಸರ್ವರ್ GraphQL ಸ್ಕೀಮಾದಲ್ಲಿ @key ನಿರ್ದೇಶನವನ್ನು ಸರಿಯಾಗಿ ಅನ್ವಯಿಸುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು xUnit ಫ್ರೇಮ್‌ವರ್ಕ್ ಅನ್ನು ಬಳಸುವ C# ಯುನಿಟ್ ಪರೀಕ್ಷೆ ಇಲ್ಲಿದೆ.

using Xunit;
using HotChocolate.Execution;
using Microsoft.Extensions.DependencyInjection;
public class ParentTests
{
    [Fact]
    public async Task ParentSchema_ContainsKeyDirective()
    {
        var serviceCollection = new ServiceCollection();
        serviceCollection.AddGraphQLServer()
            .AddQueryType<Query>()
            .AddApolloFederation();
        var serviceProvider = serviceCollection.BuildServiceProvider();
        var schema = await serviceProvider.GetRequiredService<ISchemaAsync>().ExecuteAsync();
        Assert.Contains("@key(fields: \"id\")", schema.ToString());
    }
}

ಅಪೊಲೊ ಫೆಡರೇಶನ್ ಮತ್ತು ಹಾಟ್‌ಚಾಕೊಲೇಟ್‌ನೊಂದಿಗೆ ಗ್ರಾಫ್‌ಕ್ಯೂಎಲ್ ಅನ್ನು ಹೆಚ್ಚಿಸುವುದು

ಸಂಯುಕ್ತ ಪರಿಸರದಲ್ಲಿ HotChocolate ನೊಂದಿಗೆ GraphQL ಅನ್ನು ಬಳಸುವುದಕ್ಕೆ ಉತ್ತಮವಾಗಿ-ರಚನಾತ್ಮಕ ಸ್ಕೀಮಾ ಹೊಲಿಗೆ ಅಗತ್ಯವಿದೆ. ಅಪೊಲೊ ಫೆಡರೇಶನ್ ಡೆವಲಪರ್‌ಗಳನ್ನು ಏಕರೂಪದ ಇಂಟರ್‌ಫೇಸ್ ಅನ್ನು ನಿರ್ವಹಿಸುವಾಗ ಹಲವಾರು ಸೇವೆಗಳಾದ್ಯಂತ ವಿಭಜಿಸುವ ಸ್ಕೀಮಾಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ. ಅನ್ನು ಬಳಸುವುದು @ಕೀ HotChocolate ನೊಂದಿಗೆ ನಿರ್ದೇಶನ, ಹಲವಾರು ಸೇವೆಗಳಲ್ಲಿ GraphQL ಘಟಕಗಳನ್ನು ಹೇಗೆ ಪರಿಹರಿಸಲಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ನೀವು ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದು. ಇದು ನಿಮ್ಮ API ಅನ್ನು ಹೆಚ್ಚು ಮಾಡ್ಯುಲರ್ ಮತ್ತು ಸ್ಕೇಲೆಬಲ್ ಮಾಡುತ್ತದೆ, ಇದು ದೊಡ್ಡ, ವಿತರಿಸಿದ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ ವಿಶೇಷವಾಗಿ ಪ್ರಯೋಜನಕಾರಿಯಾಗಿದೆ, ಅಲ್ಲಿ ಅನೇಕ ತಂಡಗಳು GraphQL ಸ್ಕೀಮಾದ ವಿವಿಧ ಅಂಶಗಳನ್ನು ನಿಯಂತ್ರಿಸುತ್ತವೆ.

ವಿಶಿಷ್ಟವಾದ ಫೆಡರೇಟೆಡ್ ಸ್ಕೀಮಾದಲ್ಲಿ, ಅಂತಹ ಘಟಕಗಳು ಪೋಷಕ ಅನೇಕ ಸೇವೆಗಳಲ್ಲಿ ಅಸ್ತಿತ್ವದಲ್ಲಿರಬಹುದು. ಅಪೊಲೊ ಫೆಡರೇಶನ್ ಬಳಸುತ್ತದೆ @ಕೀ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಕ್ಷೇತ್ರವನ್ನು ಆಧರಿಸಿ ಘಟಕವನ್ನು ಅನನ್ಯವಾಗಿ ಗುರುತಿಸಲು ನಿರ್ದೇಶನ ಐಡಿ. ಅಪೊಲೊ ಫೆಡರೇಶನ್‌ಗೆ HotChocolate ನ ಬೆಂಬಲವು ನಿಮ್ಮ ಸೇವೆಯು ಒಂದು ದೊಡ್ಡ ಮೂಲಸೌಕರ್ಯಕ್ಕೆ ಸಲೀಸಾಗಿ ಸಂಯೋಜನೆಗೊಳ್ಳುವುದನ್ನು ಖಚಿತಪಡಿಸುತ್ತದೆ. ಕೀಗಳನ್ನು ಹೊಂದಿಸುವುದರ ಜೊತೆಗೆ, ನೀವು ಫೆಡರೇಶನ್ ನಿರ್ದೇಶನಗಳನ್ನು ಬಳಸಬಹುದು @ವಿಸ್ತರಿಸುತ್ತದೆ ಅಥವಾ @ಬಾಹ್ಯ ನಿಮ್ಮ GraphQL ಸೆಟಪ್‌ಗೆ ಹೆಚ್ಚಿನ ನಮ್ಯತೆಯನ್ನು ಒದಗಿಸುವ, ಹಲವಾರು ಮೈಕ್ರೋ ಸರ್ವೀಸ್‌ಗಳಲ್ಲಿ ಹರಡಿರುವ ಡೇಟಾ ಕ್ಷೇತ್ರಗಳನ್ನು ನಿರ್ವಹಿಸಲು.

HotChocolate ಅನ್ನು ಬಳಸುವಾಗ ಮತ್ತೊಂದು ಪ್ರಮುಖ ಅಂಶವೆಂದರೆ ಕಾರ್ಯಕ್ಷಮತೆ ಆಪ್ಟಿಮೈಸೇಶನ್. ಗ್ರಾಫ್‌ಕ್ಯುಎಲ್ ಎಪಿಐಗಳಲ್ಲಿ, ನಿರ್ದಿಷ್ಟವಾಗಿ ಫೆಡರೇಟೆಡ್ ಸನ್ನಿವೇಶಗಳಲ್ಲಿ ಡೇಟಾವನ್ನು ಅತಿಯಾಗಿ ಪಡೆಯುವುದು ಸಾಮಾನ್ಯ ಸಮಸ್ಯೆಯಾಗಿದೆ. ಸರಿಯಾದ ಪರಿಹಾರಕಗಳನ್ನು ಬಳಸುವುದು, ಉದಾಹರಣೆಗೆ ಉಲ್ಲೇಖ ಪರಿಹಾರಕ ಹಿಂದಿನ ನಿದರ್ಶನಗಳಲ್ಲಿ ವಿವರಿಸಲಾಗಿದೆ, ನಿಮ್ಮ API ಹೆಚ್ಚಿನ ಹುಡುಕಾಟಗಳಿಲ್ಲದೆ ಅಗತ್ಯವಿರುವ ಡೇಟಾವನ್ನು ಮಾತ್ರ ನೀಡುತ್ತದೆ ಎಂದು ಖಾತರಿಪಡಿಸುತ್ತದೆ. ಇದಲ್ಲದೆ, HotChocolate ಮುಂದುವರಿದ ಕ್ವೆರಿ ಬ್ಯಾಚಿಂಗ್ ಮತ್ತು ಕ್ಯಾಶಿಂಗ್ ಅಲ್ಗಾರಿದಮ್‌ಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ, ಇದು ಫೆಡರೇಟೆಡ್ ಸ್ಕೀಮಾದಲ್ಲಿ API ಪ್ರತಿಕ್ರಿಯೆ ವೇಗ ಮತ್ತು ದಕ್ಷತೆಯನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ.

HotChocolate ಮತ್ತು ಅಪೊಲೊ ಫೆಡರೇಶನ್ ಬಗ್ಗೆ ಸಾಮಾನ್ಯ ಪ್ರಶ್ನೆಗಳು

  1. ಅಪೊಲೊ ಫೆಡರೇಶನ್ ಗ್ರಾಫ್‌ಕ್ಯೂಎಲ್ ಅಭಿವೃದ್ಧಿಗೆ ಹೇಗೆ ಪ್ರಯೋಜನವನ್ನು ನೀಡುತ್ತದೆ?
  2. ಅಪೊಲೊ ಫೆಡರೇಶನ್ ನಿಮಗೆ GraphQL ಸ್ಕೀಮಾಗಳನ್ನು ಹಲವು ಸೇವೆಗಳಾಗಿ ವಿಭಜಿಸಲು ಅನುಮತಿಸುತ್ತದೆ, ಪ್ರತಿಯೊಂದೂ ಸ್ಕೀಮಾದ ಒಂದು ವಿಭಾಗಕ್ಕೆ ಜವಾಬ್ದಾರರಾಗಿರುತ್ತಾರೆ, ಆದರೆ ಇನ್ನೂ ಸ್ಥಿರವಾದ API ಅನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ.
  3. ಏನು @key HotChocolate ನಲ್ಲಿ ಬಳಸಲಾದ ನಿರ್ದೇಶನ?
  4. ದಿ @key ಡೈರೆಕ್ಟಿವ್ ಒಂದು ಘಟಕಕ್ಕಾಗಿ ಅನನ್ಯ ಗುರುತಿಸುವಿಕೆಯನ್ನು ರಚಿಸುತ್ತದೆ, ಇದು ಹಲವಾರು GraphQL ಸೇವೆಗಳಲ್ಲಿ ಪರಿಹರಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ.
  5. ನಾನು ಬಳಸಬಹುದೇ [Key] ಮತ್ತು [ID] HotChocolate ನಲ್ಲಿ ಒಟ್ಟಿಗೆ ಗುಣಲಕ್ಷಣಗಳು?
  6. ಹೌದು, ದಿ [Key] ಆಸ್ತಿಯನ್ನು ಒಕ್ಕೂಟಕ್ಕಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ, ಮತ್ತು [ID] ಸ್ಕೀಮಾದೊಳಗೆ ಕ್ಷೇತ್ರವನ್ನು ಗುರುತಿಸುವಿಕೆಯಾಗಿ ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ.
  7. ಏನು ಮಾಡುತ್ತದೆ .RegisterService ಹಾಟ್‌ಚಾಕೊಲೇಟ್‌ನಲ್ಲಿ ಮಾಡುವುದೇ?
  8. .RegisterService ಗ್ರಾಫ್‌ಕ್ಯುಎಲ್ ಸರ್ವರ್‌ನೊಂದಿಗೆ ರೆಪೊಸಿಟರಿಯಂತಹ ಸೇವೆಯನ್ನು ನೋಂದಾಯಿಸುತ್ತದೆ, ನಿಮ್ಮ ಪರಿಹಾರಕಗಳಲ್ಲಿ ಅವಲಂಬನೆ ಇಂಜೆಕ್ಷನ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ.
  9. HotChocolate ಜೊತೆಗೆ GraphQL ಸ್ಕೀಮಾಗಳನ್ನು ನೀವು ಹೇಗೆ ಪರೀಕ್ಷಿಸುತ್ತೀರಿ?
  10. HotChocolate ಯುನಿಟ್ ಪರೀಕ್ಷೆಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಸ್ಕೀಮಾ ಪರೀಕ್ಷೆಯನ್ನು ಸ್ಕೀಮಾವನ್ನು ಆಹ್ವಾನಿಸುವ ಮೂಲಕ ಮತ್ತು ನಿರ್ದೇಶನಗಳನ್ನು ಪರಿಶೀಲಿಸುವ ಮೂಲಕ ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ @key ಪರಿಣಾಮವಾಗಿ ಫಲಿತಾಂಶದಲ್ಲಿ.

ಫೆಡರೇಶನ್ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಸುತ್ತುವುದು

ಹಾಟ್‌ಚಾಕೊಲೇಟ್‌ಗಳನ್ನು ಬಳಸುವುದು @ಕೀ ನಿರ್ದೇಶನವು ನಿಮ್ಮ ಒಕ್ಕೂಟವನ್ನು ಖಚಿತಪಡಿಸುತ್ತದೆ GraphQL ಸ್ಕೀಮಾ ಅಪೊಲೊ ಫೆಡರೇಶನ್‌ಗೆ ಸೂಕ್ತವಾಗಿ ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾಗಿದೆ. ಈ ವಿಧಾನವು ಆಬ್ಜೆಕ್ಟ್ ಪ್ರಕಾರ ನಿರ್ವಹಣೆಯನ್ನು ಸುಧಾರಿಸುತ್ತದೆ ಮತ್ತು ಕ್ರಾಸ್-ಸರ್ವೀಸ್ ಎಂಟಿಟಿ ರೆಸಲ್ಯೂಶನ್ ಅನ್ನು ಅನುಮತಿಸುತ್ತದೆ.

HotChocolate ಜೊತೆಗೆ ನಿಮ್ಮ GraphQL ಸರ್ವರ್ ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡುವುದು ಮತ್ತು ನಿರ್ದೇಶನಗಳನ್ನು ಬಳಸುವುದು @ಕೀ ದೊಡ್ಡದಾದ, ವಿತರಿಸಲಾದ API ಗಳ ನಿರ್ಮಾಣವನ್ನು ಸರಳಗೊಳಿಸುತ್ತದೆ. ಸ್ಥಿರವಾದ, ಉನ್ನತ-ಕಾರ್ಯಕ್ಷಮತೆಯ ಸ್ಕೀಮಾ ಹೊಲಿಗೆಯನ್ನು ನಿರ್ವಹಿಸುವಾಗ ನಿಮ್ಮ ಸೇವೆಗಳನ್ನು ಹೆಚ್ಚು ಸುಲಭವಾಗಿ ವಿಸ್ತರಿಸಲು ಈ ತಂತ್ರವು ನಿಮಗೆ ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ.

HotChocolate ಮತ್ತು Apollo ಫೆಡರೇಶನ್‌ಗಾಗಿ ಉಲ್ಲೇಖಗಳು ಮತ್ತು ಸಂಪನ್ಮೂಲಗಳು
  1. ನ ಬಳಕೆಯನ್ನು ವಿವರಿಸುತ್ತದೆ @ಕೀ ಅಪೊಲೊ ಫೆಡರೇಶನ್‌ನಲ್ಲಿ ನಿರ್ದೇಶನ ಮತ್ತು ಅದು ಹಾಟ್‌ಚಾಕೊಲೇಟ್‌ನೊಂದಿಗೆ ಹೇಗೆ ಸಂಯೋಜಿಸುತ್ತದೆ. ಹೆಚ್ಚಿನ ವಿವರಗಳಿಗಾಗಿ, ನಲ್ಲಿ ಅಧಿಕೃತ HotChocolate ದಸ್ತಾವೇಜನ್ನು ನೋಡಿ ಹಾಟ್ ಚಾಕೊಲೇಟ್ ಡಾಕ್ಸ್ .
  2. HotChocolate ಬಳಸಿಕೊಂಡು ಅಪೊಲೊ ಫೆಡರೇಶನ್‌ನೊಂದಿಗೆ GraphQL ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡುವ ಅವಲೋಕನವನ್ನು ಒದಗಿಸುತ್ತದೆ. ನಿಂದ ಈ ಮಾರ್ಗದರ್ಶಿ ನೋಡಿ ಅಪೊಲೊ ಫೆಡರೇಶನ್ ಡಾಕ್ಸ್ ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ.
  3. HotChocolate ಬಳಸಿಕೊಂಡು GraphQL ನಲ್ಲಿ ಸೇವಾ ನೋಂದಣಿ ಮತ್ತು ಪ್ರಶ್ನೆ ರೆಸಲ್ಯೂಶನ್‌ಗೆ ವಿವರವಾದ ಉದಾಹರಣೆಯನ್ನು ನೀಡುತ್ತದೆ. ಈ ಲೇಖನದಲ್ಲಿ ಹೆಚ್ಚಿನದನ್ನು ಕಾಣಬಹುದು HotChocolate ಜೊತೆಗೆ ಸೇವಾ ಸಂಯೋಜನೆಗಳು .