$lang['tuto'] = "ਟਿ utorial ਟੋਰਿਅਲਸ"; ?>$lang['tuto'] = "ਟਿ utorial ਟੋਰਿਅਲਸ"; ?>$lang['tuto'] = "ਟਿ utorial ਟੋਰਿਅਲਸ"; ?> GraphQL ਵਿੱਚ ਆਬਜੈਕਟ ਕਿਸਮਾਂ

GraphQL ਵਿੱਚ ਆਬਜੈਕਟ ਕਿਸਮਾਂ ਲਈ ਮੁੱਖ ਨਿਰਦੇਸ਼ ਨੂੰ ਲਾਗੂ ਕਰਨ ਲਈ HotChocolate ਦੀ ਵਰਤੋਂ ਕਿਵੇਂ ਕਰੀਏ

Key Directive

HotChocolate ਵਿੱਚ ਮੁੱਖ ਨਿਰਦੇਸ਼ ਦੇ ਨਾਲ ਆਬਜੈਕਟ ਕਿਸਮਾਂ ਨੂੰ ਅਨੁਕੂਲਿਤ ਕਰਨਾ

HotChocolate ਨਾਲ GraphQL ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਸਮੇਂ, ਤੁਹਾਨੂੰ ਆਪਣੀਆਂ ਵਸਤੂਆਂ ਦੀਆਂ ਕਿਸਮਾਂ ਨੂੰ ਨਿਰਦੇਸ਼ਾਂ ਨਾਲ ਵਧਾਉਣ ਦੀ ਲੋੜ ਹੋ ਸਕਦੀ ਹੈ, ਜਿਵੇਂ ਕਿ ਨਿਰਦੇਸ਼, ਅਪੋਲੋ ਫੈਡਰੇਸ਼ਨ ਨਾਲ ਅਨੁਕੂਲਤਾ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ। ਇਹ ਵਿਸ਼ੇਸ਼ ਤੌਰ 'ਤੇ ਸੰਘੀ ਸਕੀਮਾਂ ਲਈ ਮਹੱਤਵਪੂਰਨ ਹੈ, ਜਿਸ ਵਿੱਚ ਕੁੰਜੀਆਂ ਕਈ ਸੇਵਾਵਾਂ ਵਿੱਚ ਇਕਾਈਆਂ ਦੀ ਪਛਾਣ ਕਰਦੀਆਂ ਹਨ। ਇਹ ਸਮਝਣਾ ਕਿ ਇਹਨਾਂ ਨਿਰਦੇਸ਼ਾਂ ਨਾਲ ਤੁਹਾਡੀਆਂ ਵਸਤੂਆਂ ਦੀਆਂ ਕਿਸਮਾਂ ਨੂੰ ਉਚਿਤ ਢੰਗ ਨਾਲ ਕਿਵੇਂ ਡਿਜ਼ਾਈਨ ਕਰਨਾ ਹੈ।

ਇਹ ਲੇਖ ਦੱਸੇਗਾ ਕਿ ਕਿਵੇਂ ਵਰਤਣਾ ਹੈ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਆਬਜੈਕਟ ਕਿਸਮਾਂ ਨੂੰ ਸਜਾਉਣ ਲਈ ਨਿਰਦੇਸ਼. ਅਸੀਂ ਇੱਕ ਸਧਾਰਨ ਬਣਾਉਣ ਲਈ C# ਕੋਡ ਦੀ ਵਰਤੋਂ ਕਰਨ ਵਾਲੀਆਂ ਖਾਸ ਉਦਾਹਰਣਾਂ ਨੂੰ ਵੀ ਦੇਖਾਂਗੇ ਕਲਾਸ ਅਤੇ ਤਿਆਰ ਕੀਤੀ GraphQL ਸਕੀਮਾ ਨੂੰ ਕਿਵੇਂ ਬਦਲਣਾ ਹੈ। ਇਸ ਕਾਰਜਕੁਸ਼ਲਤਾ ਨੂੰ ਬਣਾਉਣ ਲਈ ਤੁਸੀਂ ਅਸਲ ਕਾਰਵਾਈਆਂ 'ਤੇ ਜ਼ੋਰ ਦਿੱਤਾ ਜਾਵੇਗਾ।

GraphQL ਆਬਜੈਕਟ ਕਿਸਮਾਂ ਨੂੰ ਬਣਾਉਣ ਲਈ HotChocolate ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਸਮੇਂ, ਨਿਰਦੇਸ਼ ਨੂੰ ਉਮੀਦ ਅਨੁਸਾਰ ਤੁਰੰਤ ਲਾਗੂ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। ਇਸਦੀ ਬਜਾਏ, ਸਕੀਮਾ ਇੱਕ ਸਧਾਰਨ ਕਿਸਮ ਦਾ ਢਾਂਚਾ ਪੈਦਾ ਕਰ ਸਕਦੀ ਹੈ ਜਿਸ ਵਿੱਚ ਫੈਡਰੇਸ਼ਨ ਲਈ ਲੋੜੀਂਦੀਆਂ ਮਹੱਤਵਪੂਰਨ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਘਾਟ ਹੈ। ਅਸੀਂ ਇਸ ਨੂੰ ਹੱਲ ਕਰਨ ਦੇ ਤਰੀਕੇ ਬਾਰੇ ਦੱਸਾਂਗੇ ਅਤੇ ਤੁਹਾਡੀ ਸਕੀਮਾ ਨੂੰ ਉਮੀਦ ਅਨੁਸਾਰ ਪ੍ਰਦਰਸ਼ਨ ਕਰਨ ਲਈ ਲਿਆਵਾਂਗੇ।

ਅਸੀਂ ਮਹੱਤਵਪੂਰਨ ਸੰਰਚਨਾ ਕਾਰਜਾਂ ਨੂੰ ਵੀ ਕਵਰ ਕਰਾਂਗੇ, ਜਿਵੇਂ ਕਿ ਤੁਹਾਡੇ GraphQL ਸਰਵਰ ਸੈੱਟਅੱਪ ਨੂੰ ਸੋਧਣਾ ਅਤੇ ਸੱਜੇ ਦੀ ਵਰਤੋਂ ਕਰਨਾ। ਅਤੇ ਪੈਕੇਜ। ਸਹੀ ਸੰਰਚਨਾ ਦੇ ਨਾਲ, ਤੁਸੀਂ ਆਸਾਨੀ ਨਾਲ ਨਿਰਦੇਸ਼ਾਂ ਨੂੰ ਲਾਗੂ ਕਰ ਸਕਦੇ ਹੋ ਅਤੇ ਆਪਣੀਆਂ ਸੇਵਾਵਾਂ ਲਈ ਸਹੀ ਸਕੀਮਾ ਫੈਡਰੇਸ਼ਨ ਨੂੰ ਯਕੀਨੀ ਬਣਾ ਸਕਦੇ ਹੋ।

ਹੁਕਮ ਵਰਤੋਂ ਦੀ ਉਦਾਹਰਨ
HotChocolate ਵਿੱਚ, ਇਹ ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇੱਕ ਵਸਤੂ ਦੀ ਕਿਸਮ ਨੂੰ ਸਜਾਉਂਦੀ ਹੈ ਨਿਰਦੇਸ਼. ਇਹ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ ਕਿ ਅਪੋਲੋ ਫੈਡਰੇਸ਼ਨ ਨਾਲ ਕੰਮ ਕਰਦੇ ਸਮੇਂ ਕਿਹੜਾ ਖੇਤਰ ਕਿਸਮ ਦੇ ਵਿਲੱਖਣ ਪਛਾਣਕਰਤਾ ਵਜੋਂ ਕੰਮ ਕਰੇਗਾ।
ਜਦੋਂ ਕਿਸੇ ਵਿਧੀ 'ਤੇ ਲਾਗੂ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਇਹ ਵਿਸ਼ੇਸ਼ਤਾ HotChocolate ਨੂੰ ਸੰਘੀ ਕਿਸਮਾਂ ਲਈ ਇੱਕ ਰੈਜ਼ੋਲਿਊਸ਼ਨ ਵਜੋਂ ਉਸ ਵਿਧੀ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ ਨਿਰਦੇਸ਼ ਦਿੰਦੀ ਹੈ। ਇਹ ਬਾਹਰੀ ਸੰਦਰਭਾਂ ਦੁਆਰਾ ਸੰਘੀ ਸੇਵਾਵਾਂ ਵਿੱਚ ਸੰਬੰਧਿਤ ਡੇਟਾ ਨੂੰ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।
ਇਹ ਕਮਾਂਡ HotChocolate GraphQL ਸਰਵਰ ਵਿੱਚ ਅਪੋਲੋ ਫੈਡਰੇਸ਼ਨ ਸਹਾਇਤਾ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਦੀ ਹੈ। ਸੰਘੀ ਸਕੀਮਾ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਣਾ ਜ਼ਰੂਰੀ ਹੈ, ਜਿਵੇਂ ਕਿ ਨਿਰਦੇਸ਼.
ਇੱਕ ਸੇਵਾ ਰਜਿਸਟਰ ਕਰਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ , GraphQL DI ਕੰਟੇਨਰ ਵਿੱਚ। ਇਹ ਤੁਹਾਨੂੰ ਸੇਵਾਵਾਂ ਨੂੰ ਸਿੱਧੇ GraphQL ਰੈਜ਼ੋਲਵਰ ਵਿੱਚ ਇੰਜੈਕਟ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।
SDL ਮਾਡਲ ਵਿੱਚ, ਇਹ ਨਿਰਦੇਸ਼ ਸੰਘ ਲਈ ਮੁੱਖ ਮੁੱਖ ਖੇਤਰ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ। ਕਰਾਸ-ਸਰਵਿਸ ਇਕਾਈ ਰੈਜ਼ੋਲਿਊਸ਼ਨ ਨੂੰ ਸਮਰੱਥ ਕਰਨ ਲਈ, ਆਬਜੈਕਟ ਕਿਸਮਾਂ ਕੋਲ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ ਨਿਰਦੇਸ਼.
ਅਸਿੰਕ੍ਰੋਨਸ ਤੌਰ 'ਤੇ ਇੱਕ GraphQL ਪੁੱਛਗਿੱਛ ਨੂੰ ਚਲਾਉਂਦਾ ਹੈ, ਆਮ ਤੌਰ 'ਤੇ ਯੂਨਿਟ ਟੈਸਟਾਂ ਵਿੱਚ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਿ ਸਕੀਮਾ ਅਤੇ ਨਿਰਦੇਸ਼, ਜਿਵੇਂ ਕਿ , ਸਹੀ ਢੰਗ ਨਾਲ ਲਾਗੂ ਕੀਤੇ ਗਏ ਹਨ।
ਇਹ ਵਿਸ਼ੇਸ਼ਤਾ ਗ੍ਰਾਫਿਕਯੂਐਲ ਰੈਜ਼ੋਲਵਰ ਵਿਧੀ ਆਰਗੂਮੈਂਟਾਂ ਵਿੱਚ ਰਿਪੋਜ਼ਟਰੀਆਂ ਜਾਂ ਸੇਵਾਵਾਂ ਵਰਗੀਆਂ ਨਿਰਭਰਤਾਵਾਂ ਨੂੰ ਇੰਜੈਕਟ ਕਰਨ ਲਈ ਵਰਤੀ ਜਾਂਦੀ ਹੈ, HotChocolate ਵਿੱਚ ਸੇਵਾ ਪ੍ਰਾਪਤੀ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਂਦੀ ਹੈ।
XUnit ਦੀ ਯੂਨਿਟ ਟੈਸਟਿੰਗ ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਕਿ ਕੁਝ ਸਤਰ ਜਾਂ ਨਿਰਦੇਸ਼, ਜਿਵੇਂ ਕਿ ਡਾਇਰੈਕਟਿਵ, ਟੈਸਟਾਂ ਦੌਰਾਨ ਤਿਆਰ ਕੀਤੇ GraphQL ਸਕੀਮਾ ਵਿੱਚ ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ ਹਨ।

ਹੌਟਚੌਕਲੇਟ ਵਿੱਚ ਮੁੱਖ ਨਿਰਦੇਸ਼ਾਂ ਦੀ ਭੂਮਿਕਾ ਨੂੰ ਸਮਝਣਾ

ਪਹਿਲੀ ਸਕ੍ਰਿਪਟ ਦੱਸਦੀ ਹੈ ਕਿ ਕਿਵੇਂ ਲਾਗੂ ਕਰਨਾ ਹੈ C# ਵਿੱਚ HotChocolate ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ ਨਿਰਦੇਸ਼. ਇਹ ਸਕ੍ਰਿਪਟ ਗਾਰੰਟੀ ਦਿੰਦੀ ਹੈ ਕਿ ਬਣਾਈ ਗਈ GraphQL ਸਕੀਮਾ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨ @ਕੁੰਜੀ ਅਪੋਲੋ ਫੈਡਰੇਸ਼ਨ ਨਾਲ ਫੈਡਰੇਸ਼ਨ ਲਈ ਨਿਰਦੇਸ਼. ਸਕ੍ਰਿਪਟ ਇੱਕ ਬਣਾ ਕੇ ਸ਼ੁਰੂ ਹੁੰਦੀ ਹੈ ਕਲਾਸ ਅਤੇ ਨਿਰਧਾਰਤ ਕਰਨਾ ਅਤੇ [ਆਈਡੀ] ਇਸਦੇ ਖੇਤਰਾਂ ਦੇ ਗੁਣ. ਇਹ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਹਾਟਚੌਕਲੇਟ ਨੂੰ ਮਾਰਕ ਕਰਨ ਲਈ ਸੂਚਿਤ ਕਰਨ ਲਈ ਮਹੱਤਵਪੂਰਨ ਹਨ ਇਕਾਈ ਦੇ ਵਿਲੱਖਣ ਪਛਾਣਕਰਤਾ ਵਜੋਂ ਖੇਤਰ। ਇਹ ਇੱਕ ਸੰਘੀ GraphQL ਸੇਵਾ ਬਣਾਉਣ ਵੇਲੇ ਮਹੱਤਵਪੂਰਨ ਹੁੰਦਾ ਹੈ ਜਿਸ ਵਿੱਚ ਇਕਾਈਆਂ ਨੂੰ ਕਈ ਸੇਵਾਵਾਂ ਵਿੱਚ ਸਾਂਝਾ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। ਇਸ ਖੇਤਰ ਨੂੰ ਚਿੰਨ੍ਹਿਤ ਕਰਨਾ GraphQL ਸੇਵਾ ਨੂੰ ਸੰਘੀ ਸਵਾਲਾਂ ਵਿੱਚ ਇਕਾਈ ਨੂੰ ਹੱਲ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।

ਦ ਫੰਕਸ਼ਨ ਵੀ ਸਕ੍ਰਿਪਟ ਦਾ ਇੱਕ ਜ਼ਰੂਰੀ ਹਿੱਸਾ ਹੈ। ਇਹ ਸਥਿਰ ਫੰਕਸ਼ਨ HotChocolate ਦੀ ਮੰਗ ਕਰਕੇ ਇਕਾਈ ਨੂੰ ਹੱਲ ਕਰਨ ਦੇ ਯੋਗ ਬਣਾਉਂਦਾ ਹੈ ਇੱਕ ਰਿਪੋਜ਼ਟਰੀ ਵਿੱਚ ਵਸਤੂ. ਦ GraphQL ਸਰਵਰ ਨਾਲ ਰਜਿਸਟਰਡ ਹੈ, ਅਤੇ ਪ੍ਰਾਪਤ ਕਰੋ ਵਿਧੀ ਇਸ ਦੇ ਦੁਆਰਾ ਇੱਕ ਮਾਤਾ ਨੂੰ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ . ਬੂਟਸਟਰੈਪ ਕੋਡ ਵਿੱਚ, ਹਦਾਇਤ ਨੂੰ ਰਜਿਸਟਰ ਕਰਦਾ ਹੈ ਆਬਜੈਕਟ, ਜਿਸਦੀ ਵਰਤੋਂ GraphQL ਸਵਾਲਾਂ ਨੂੰ ਚਲਾਉਣ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। RegisterService GraphQL ਰੈਜ਼ੋਲਵਰ ਵਿੱਚ ParentRepository ਵਰਗੀਆਂ ਨਿਰਭਰਤਾਵਾਂ ਨੂੰ ਇੰਜੈਕਟ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ। ਇਹ ਡਿਜ਼ਾਇਨ ਚਿੰਤਾਵਾਂ ਦੇ ਸਪਸ਼ਟ ਵਿਭਾਜਨ ਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦੇ ਹੋਏ ਡਾਟਾ ਪ੍ਰਾਪਤੀ ਨੂੰ ਸਰਲ ਬਣਾਉਂਦਾ ਹੈ।

ਦੂਜੀ ਉਦਾਹਰਨ ਸਕੀਮਾ-ਪਹਿਲੀ ਪਹੁੰਚ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਨ ਲਈ GraphQL SDL (ਸਕੀਮਾ ਪਰਿਭਾਸ਼ਾ ਭਾਸ਼ਾ) ਦੀ ਵਰਤੋਂ ਕਰਦੀ ਹੈ। ਸਕੀਮਾ ਦੇ ਅੰਦਰ ਨਿਰਦੇਸ਼. ਇਹ ਹੱਲ ਖਾਸ ਤੌਰ 'ਤੇ ਉਹਨਾਂ ਟੀਮਾਂ ਲਈ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਹੈ ਜੋ ਪਹਿਲਾਂ ਤੋਂ ਹੀ GraphQL ਦੇ SDL ਸੰਟੈਕਸ ਤੋਂ ਜਾਣੂ ਹਨ। ਇਸ ਉਦਾਹਰਨ ਵਿੱਚ, ਦ @ਕੁੰਜੀ 'ਤੇ ਨਿਰਦੇਸ਼ ਲਾਗੂ ਹੁੰਦਾ ਹੈ ਟਾਈਪ, ਸਪਸ਼ਟ ਤੌਰ 'ਤੇ ਦਰਸਾਉਂਦਾ ਹੈ ਵਿਲੱਖਣ ਪਛਾਣਕਰਤਾ ਵਜੋਂ ਖੇਤਰ। ਸਕੀਮਾ-ਫਸਟ ਦੀ ਵਰਤੋਂ ਕਰਨ ਨਾਲ ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਇਸ 'ਤੇ ਵਧੇਰੇ ਨਿਯੰਤਰਣ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਮਿਲਦੀ ਹੈ ਕਿ ਕਿਵੇਂ GraphQL ਸਕੀਮਾ ਬਣਾਈ ਜਾਂਦੀ ਹੈ ਅਤੇ ਇਸਨੂੰ C# ਕੋਡ ਵਿੱਚ ਜਾਣ ਦੀ ਲੋੜ ਤੋਂ ਬਿਨਾਂ ਇਸ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕਰ ਸਕਦਾ ਹੈ, ਇਸ ਨੂੰ ਵੱਡੀਆਂ ਟੀਮਾਂ ਲਈ ਵਧੇਰੇ ਲਚਕਦਾਰ ਵਿਕਲਪ ਬਣਾਉਂਦਾ ਹੈ।

ਅੰਤ ਵਿੱਚ, ਯੂਨਿਟ ਟੈਸਟਿੰਗ ਕੰਪੋਨੈਂਟ ਪ੍ਰਮਾਣਿਤ ਕਰਦਾ ਹੈ ਕਿ ਕੋਡ ਇਰਾਦੇ ਅਨੁਸਾਰ ਕੰਮ ਕਰਦਾ ਹੈ। xUnit ਟੈਸਟਿੰਗ ਫਰੇਮਵਰਕ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ, Assert.The ਸ਼ਾਮਿਲ ਹੈ ਕਮਾਂਡ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦੀ ਹੈ ਕਿ ਨਤੀਜੇ ਵਾਲੀ ਸਕੀਮਾ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨ ਨਿਰਦੇਸ਼. ਇਹ ਟੈਸਟ ਦੀ ਮੌਜੂਦਗੀ ਲਈ ਸਕੀਮਾ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰਦਾ ਹੈ @ਕੁੰਜੀ ਨਿਰਦੇਸ਼, ਪੁਸ਼ਟੀ ਕਰਦਾ ਹੈ ਕਿ ਸੇਵਾ ਫੈਡਰੇਸ਼ਨ ਲਈ ਸਹੀ ਢੰਗ ਨਾਲ ਕੌਂਫਿਗਰ ਕੀਤੀ ਗਈ ਹੈ। ਯੂਨਿਟ ਟੈਸਟਿੰਗ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਇੱਕ ਵਧੀਆ ਅਭਿਆਸ ਹੈ ਕਿ ਤੁਹਾਡੀ GraphQL ਸਕੀਮਾ ਜਾਂ ਰੈਜ਼ੋਲਵਰ ਵਿਧੀਆਂ ਵਿੱਚ ਤਬਦੀਲੀਆਂ ਕਾਰਜਕੁਸ਼ਲਤਾ ਵਿੱਚ ਵਿਘਨ ਨਹੀਂ ਪਾਉਂਦੀਆਂ ਹਨ, ਖਾਸ ਤੌਰ 'ਤੇ ਇੱਕ ਸੰਘੀ ਪ੍ਰਣਾਲੀ ਵਿੱਚ ਜਿੱਥੇ ਮਲਟੀਪਲ ਸੇਵਾਵਾਂ ਨੂੰ ਇਕੱਠੇ ਕੰਮ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ।

GraphQL ਆਬਜੈਕਟ ਕਿਸਮਾਂ ਲਈ HotChocolate ਵਿੱਚ ਮੁੱਖ ਨਿਰਦੇਸ਼ ਨੂੰ ਲਾਗੂ ਕਰਨਾ

ਇਹ ਹੱਲ ਬੈਕਐਂਡ ਤੋਂ ਇੱਕ GraphQL ਸਕੀਮਾ ਨੂੰ ਸੋਧਣ ਲਈ C#, HotChocolate, ਅਤੇ Apollo Federation ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ।

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 ਦੀ ਯੂਨਿਟ ਟੈਸਟਿੰਗ

ਇੱਥੇ ਇੱਕ C# ਯੂਨਿਟ ਟੈਸਟ ਹੈ ਜੋ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ xUnit ਫਰੇਮਵਰਕ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ ਕਿ HotChocolate ਸਰਵਰ ਇੱਕ GraphQL ਸਕੀਮਾ ਵਿੱਚ @key ਨਿਰਦੇਸ਼ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਲਾਗੂ ਕਰਦਾ ਹੈ।

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 ਨੂੰ ਹੋਰ ਮਾਡਿਊਲਰ ਅਤੇ ਸਕੇਲੇਬਲ ਬਣਾਉਂਦਾ ਹੈ, ਜੋ ਕਿ ਖਾਸ ਤੌਰ 'ਤੇ ਵੱਡੇ, ਵੰਡੇ ਗਏ ਸਿਸਟਮਾਂ ਵਿੱਚ ਲਾਭਦਾਇਕ ਹੈ ਜਿੱਥੇ ਕਈ ਟੀਮਾਂ ਗ੍ਰਾਫਕਿਊਐਲ ਸਕੀਮਾ ਦੇ ਵੱਖ-ਵੱਖ ਪਹਿਲੂਆਂ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਦੀਆਂ ਹਨ।

ਇੱਕ ਆਮ ਸੰਘੀ ਸਕੀਮਾ ਵਿੱਚ, ਸੰਸਥਾਵਾਂ ਜਿਵੇਂ ਕਿ ਬਹੁਤ ਸਾਰੀਆਂ ਸੇਵਾਵਾਂ ਵਿੱਚ ਮੌਜੂਦ ਹੋ ਸਕਦਾ ਹੈ। ਅਪੋਲੋ ਫੈਡਰੇਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ ਕਿਸੇ ਨਿਸ਼ਚਿਤ ਖੇਤਰ ਦੇ ਆਧਾਰ 'ਤੇ ਇਕਾਈ ਦੀ ਵਿਲੱਖਣ ਪਛਾਣ ਕਰਨ ਲਈ ਨਿਰਦੇਸ਼, ਜਿਵੇਂ ਕਿ . ਅਪੋਲੋ ਫੈਡਰੇਸ਼ਨ ਲਈ HotChocolate ਦਾ ਸਮਰਥਨ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਤੁਹਾਡੀ ਸੇਵਾ ਆਸਾਨੀ ਨਾਲ ਇੱਕ ਵੱਡੇ ਬੁਨਿਆਦੀ ਢਾਂਚੇ ਵਿੱਚ ਏਕੀਕ੍ਰਿਤ ਹੋ ਜਾਂਦੀ ਹੈ। ਕੁੰਜੀਆਂ ਨੂੰ ਸੈੱਟ ਕਰਨ ਤੋਂ ਇਲਾਵਾ, ਤੁਸੀਂ ਫੈਡਰੇਸ਼ਨ ਦੇ ਨਿਰਦੇਸ਼ਾਂ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ ਜਿਵੇਂ ਕਿ @ਵਿਸਤਾਰ ਕਰਦਾ ਹੈ ਜਾਂ ਤੁਹਾਡੇ GraphQL ਸੈਟਅਪ ਲਈ ਵਧੇਰੇ ਲਚਕਤਾ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹੋਏ, ਕਈ ਮਾਈਕਰੋ ਸਰਵਿਸਿਜ਼ 'ਤੇ ਖਿੰਡੇ ਹੋਏ ਡੇਟਾ ਖੇਤਰਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ ਲਈ।

HotChocolate ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਸਮੇਂ ਇਕ ਹੋਰ ਮੁੱਖ ਕਾਰਕ ਪ੍ਰਦਰਸ਼ਨ ਅਨੁਕੂਲਤਾ ਹੈ। ਗ੍ਰਾਫਿਕਯੂਐਲ API ਦੇ ਨਾਲ ਓਵਰ-ਫੈਚਿੰਗ ਡੇਟਾ ਇੱਕ ਆਮ ਸਮੱਸਿਆ ਹੈ, ਖਾਸ ਤੌਰ 'ਤੇ ਸੰਘੀ ਸੰਦਰਭਾਂ ਵਿੱਚ। ਸਹੀ ਹੱਲ ਕਰਨ ਵਾਲਿਆਂ ਦੀ ਵਰਤੋਂ ਕਰਨਾ, ਜਿਵੇਂ ਕਿ ਪਿਛਲੀਆਂ ਸਥਿਤੀਆਂ ਵਿੱਚ ਵਰਣਨ ਕੀਤਾ ਗਿਆ ਹੈ, ਗਾਰੰਟੀ ਦਿੰਦਾ ਹੈ ਕਿ ਤੁਹਾਡਾ API ਬਹੁਤ ਜ਼ਿਆਦਾ ਖੋਜਾਂ ਤੋਂ ਬਿਨਾਂ ਸਿਰਫ਼ ਲੋੜੀਂਦਾ ਡੇਟਾ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਇਸ ਤੋਂ ਇਲਾਵਾ, HotChocolate ਐਡਵਾਂਸਡ ਪੁੱਛਗਿੱਛ ਬੈਚਿੰਗ ਅਤੇ ਕੈਚਿੰਗ ਐਲਗੋਰਿਦਮ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ, ਜੋ ਕਿ ਇੱਕ ਸੰਘੀ ਸਕੀਮਾ ਵਿੱਚ API ਜਵਾਬ ਗਤੀ ਅਤੇ ਕੁਸ਼ਲਤਾ ਨੂੰ ਵਧਾ ਸਕਦਾ ਹੈ।

  1. ਅਪੋਲੋ ਫੈਡਰੇਸ਼ਨ GraphQL ਵਿਕਾਸ ਨੂੰ ਕਿਵੇਂ ਲਾਭ ਪਹੁੰਚਾਉਂਦੀ ਹੈ?
  2. ਅਪੋਲੋ ਫੈਡਰੇਸ਼ਨ ਤੁਹਾਨੂੰ GraphQL ਸਕੀਮਾਂ ਨੂੰ ਕਈ ਸੇਵਾਵਾਂ ਵਿੱਚ ਵੰਡਣ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ, ਹਰੇਕ ਸਕੀਮਾ ਦੇ ਇੱਕ ਭਾਗ ਲਈ ਜਵਾਬਦੇਹ ਹੈ, ਪਰ ਫਿਰ ਵੀ ਇੱਕ ਇਕਸਾਰ API ਨੂੰ ਕਾਇਮ ਰੱਖਦਾ ਹੈ।
  3. ਕੀ ਹੈ HotChocolate ਲਈ ਨਿਰਦੇਸ਼ ਵਰਤਿਆ ਗਿਆ ਹੈ?
  4. ਦ ਡਾਇਰੈਕਟਿਵ ਕਿਸੇ ਇਕਾਈ ਲਈ ਵਿਲੱਖਣ ਪਛਾਣਕਰਤਾ ਬਣਾਉਂਦਾ ਹੈ, ਇਸ ਨੂੰ ਕਈ GraphQL ਸੇਵਾਵਾਂ ਵਿੱਚ ਹੱਲ ਕਰਨ ਦੇ ਯੋਗ ਬਣਾਉਂਦਾ ਹੈ।
  5. ਕੀ ਮੈਂ ਵਰਤ ਸਕਦਾ ਹਾਂ ਅਤੇ HotChocolate ਵਿੱਚ ਇਕੱਠੇ ਗੁਣ?
  6. ਹਾਂ, ਦ ਜਾਇਦਾਦ ਦੀ ਵਰਤੋਂ ਫੈਡਰੇਸ਼ਨ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਅਤੇ ਸਕੀਮਾ ਦੇ ਅੰਦਰ ਇੱਕ ਪਛਾਣਕਰਤਾ ਵਜੋਂ ਖੇਤਰ ਨੂੰ ਨਿਸ਼ਚਿਤ ਕਰਦਾ ਹੈ।
  7. ਕੀ ਕਰਦਾ ਹੈ HotChocolate ਵਿੱਚ ਕਰਦੇ ਹੋ?
  8. ਗ੍ਰਾਫਿਕਯੂਐਲ ਸਰਵਰ ਦੇ ਨਾਲ ਇੱਕ ਸੇਵਾ, ਜਿਵੇਂ ਕਿ ਇੱਕ ਰਿਪੋਜ਼ਟਰੀ, ਰਜਿਸਟਰ ਕਰਦਾ ਹੈ, ਤੁਹਾਡੇ ਰੈਜ਼ੋਲਵਰਾਂ ਵਿੱਚ ਨਿਰਭਰਤਾ ਇੰਜੈਕਸ਼ਨ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਂਦਾ ਹੈ।
  9. ਤੁਸੀਂ HotChocolate ਨਾਲ GraphQL ਸਕੀਮਾਂ ਦੀ ਜਾਂਚ ਕਿਵੇਂ ਕਰਦੇ ਹੋ?
  10. HotChocolate ਸਕੀਮਾ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਅਤੇ ਨਿਰਦੇਸ਼ਾਂ ਦੀ ਜਾਂਚ ਕਰਕੇ ਯੂਨਿਟ ਟੈਸਟਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਸਕੀਮਾ ਟੈਸਟਿੰਗ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਂਦਾ ਹੈ ਜਿਵੇਂ ਕਿ ਨਤੀਜੇ ਦੇ ਨਤੀਜੇ ਵਿੱਚ.

ਹੌਟ ਚਾਕਲੇਟ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਨਿਰਦੇਸ਼ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਤੁਹਾਡਾ ਸੰਘ ਅਪੋਲੋ ਫੈਡਰੇਸ਼ਨ ਲਈ ਉਚਿਤ ਰੂਪ ਵਿੱਚ ਸੰਰਚਿਤ ਕੀਤਾ ਗਿਆ ਹੈ। ਇਹ ਪਹੁੰਚ ਆਬਜੈਕਟ ਕਿਸਮ ਪ੍ਰਬੰਧਨ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਂਦਾ ਹੈ ਅਤੇ ਕਰਾਸ-ਸਰਵਿਸ ਇਕਾਈ ਰੈਜ਼ੋਲਿਊਸ਼ਨ ਲਈ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।

HotChocolate ਨਾਲ ਤੁਹਾਡੇ GraphQL ਸਰਵਰ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਨਾ ਅਤੇ ਇਸ ਤਰ੍ਹਾਂ ਦੇ ਨਿਰਦੇਸ਼ਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਵੱਡੇ, ਵੰਡੇ APIs ਦੇ ਨਿਰਮਾਣ ਨੂੰ ਸਰਲ ਬਣਾਉਂਦਾ ਹੈ। ਇਹ ਰਣਨੀਤੀ ਤੁਹਾਨੂੰ ਇਕਸਾਰ, ਉੱਚ-ਪ੍ਰਦਰਸ਼ਨ ਵਾਲੀ ਸਕੀਮਾ ਸਿਲਾਈ ਨੂੰ ਕਾਇਮ ਰੱਖਦੇ ਹੋਏ ਤੁਹਾਡੀਆਂ ਸੇਵਾਵਾਂ ਨੂੰ ਹੋਰ ਆਸਾਨੀ ਨਾਲ ਵਧਾਉਣ ਦੇ ਯੋਗ ਬਣਾਉਂਦੀ ਹੈ।

  1. ਦੀ ਵਰਤੋਂ ਬਾਰੇ ਵਿਸਥਾਰ ਨਾਲ ਦੱਸਿਆ ਅਪੋਲੋ ਫੈਡਰੇਸ਼ਨ ਵਿੱਚ ਨਿਰਦੇਸ਼ ਅਤੇ ਇਹ HotChocolate ਨਾਲ ਕਿਵੇਂ ਏਕੀਕ੍ਰਿਤ ਹੁੰਦਾ ਹੈ। ਹੋਰ ਵੇਰਵਿਆਂ ਲਈ, 'ਤੇ ਅਧਿਕਾਰਤ HotChocolate ਦਸਤਾਵੇਜ਼ ਵੇਖੋ HotChocolate Docs .
  2. HotChocolate ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਅਪੋਲੋ ਫੈਡਰੇਸ਼ਨ ਦੇ ਨਾਲ GraphQL ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਨ ਦੀ ਇੱਕ ਸੰਖੇਪ ਜਾਣਕਾਰੀ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਤੋਂ ਇਸ ਗਾਈਡ ਨੂੰ ਵੇਖੋ ਅਪੋਲੋ ਫੈਡਰੇਸ਼ਨ ਡੌਕਸ ਹੋਰ ਜਾਣਕਾਰੀ ਲਈ.
  3. HotChocolate ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ GraphQL ਵਿੱਚ ਸੇਵਾ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਅਤੇ ਪੁੱਛਗਿੱਛ ਰੈਜ਼ੋਲੂਸ਼ਨ ਦੀ ਇੱਕ ਵਿਸਤ੍ਰਿਤ ਉਦਾਹਰਣ ਪੇਸ਼ ਕਰਦਾ ਹੈ। 'ਤੇ ਇਸ ਲੇਖ ਵਿਚ ਹੋਰ ਪਾਇਆ ਜਾ ਸਕਦਾ ਹੈ ਹੌਟ ਚਾਕਲੇਟ ਨਾਲ ਸੇਵਾ ਏਕੀਕਰਣ .