$lang['tuto'] = "பயிற்சிகள்"; ?>$lang['tuto'] = "பயிற்சிகள்"; ?>$lang['tuto'] = "பயிற்சிகள்"; ?> GraphQL இல் உள்ள பொருள்

GraphQL இல் உள்ள பொருள் வகைகளுக்கான முக்கிய கட்டளையைப் பயன்படுத்த HotChocolate ஐ எவ்வாறு பயன்படுத்துவது

Key Directive

HotChocolate இல் முக்கிய வழிகாட்டுதலுடன் பொருள் வகைகளை மேம்படுத்துதல்

HotChocolate உடன் GraphQL ஐப் பயன்படுத்தும் போது, ​​உங்கள் பொருள் வகைகளை நீங்கள் வழிகாட்டுதல்களுடன் விரிவாக்க வேண்டும். அப்பல்லோ கூட்டமைப்புடன் இணக்கத்தன்மையை உறுதி செய்வதற்கான உத்தரவு. ஃபெடரேட் ஸ்கீமாக்களுக்கு இது மிகவும் முக்கியமானது, இதில் விசைகள் பல சேவைகளில் உள்ள நிறுவனங்களை அடையாளம் காணும். இந்த வழிகாட்டுதல்களுடன் உங்கள் பொருள் வகைகளை எவ்வாறு சரியாக வடிவமைப்பது என்பதைப் புரிந்துகொள்வது மிகவும் முக்கியமானது.

எப்படி பயன்படுத்துவது என்பதை இந்த கட்டுரை காண்பிக்கும் பயன்படுத்தி பொருள் வகைகளை அலங்கரிக்க உத்தரவு. எளிமையான ஒன்றை உருவாக்க C# குறியீட்டைப் பயன்படுத்தும் குறிப்பிட்ட எடுத்துக்காட்டுகளையும் பார்ப்போம் வகுப்பு மற்றும் தயாரிக்கப்பட்ட GraphQL திட்டத்தை எவ்வாறு மாற்றுவது. இந்த செயல்பாட்டை உருவாக்க நீங்கள் எடுக்கக்கூடிய உண்மையான செயல்களுக்கு முக்கியத்துவம் கொடுக்கப்படும்.

GraphQL பொருள் வகைகளை உருவாக்க HotChocolate ஐப் பயன்படுத்தும் போது, ​​தி உத்தரவு எதிர்பார்த்தபடி உடனடியாகப் பயன்படுத்தப்படாமல் போகலாம். அதற்குப் பதிலாக, கூட்டமைப்புக்குத் தேவையான முக்கியமான அம்சங்கள் இல்லாத ஒரு எளிய வகை கட்டமைப்பை ஸ்கீமா உருவாக்கலாம். இதை எப்படித் தீர்ப்பது மற்றும் உங்கள் ஸ்கீமாவை எதிர்பார்த்தபடி செயல்பட வைப்பது எப்படி என்று பார்ப்போம்.

உங்கள் GraphQL சர்வர் அமைப்பை மாற்றியமைத்தல் மற்றும் சரியானதைப் பயன்படுத்துதல் போன்ற முக்கியமான உள்ளமைவு பணிகளையும் நாங்கள் உள்ளடக்குவோம். மற்றும் தொகுப்புகள். சரியான உள்ளமைவுடன், நீங்கள் எளிதாக உத்தரவுகளைப் பயன்படுத்தலாம் மற்றும் உங்கள் சேவைகளுக்கான சரியான திட்ட கூட்டமைப்பை உறுதிசெய்யலாம்.

கட்டளை பயன்பாட்டின் உதாரணம்
HotChocolate இல், இந்த கட்டளையை பயன்படுத்தி ஒரு பொருள் வகையை அலங்கரிக்கிறது உத்தரவு. அப்பல்லோ கூட்டமைப்பைக் கையாளும் போது எந்தப் புலம் வகையின் தனித்துவ அடையாளங்காட்டியாகச் செயல்படும் என்பதை இது வரையறுக்கிறது.
ஒரு முறையில் பயன்படுத்தப்படும் போது, ​​இந்த பண்பு HotChocolate அந்த முறையை கூட்டமைப்பு வகைகளுக்கான தீர்மானமாக பயன்படுத்த அறிவுறுத்துகிறது. வெளிப்புற குறிப்புகள் மூலம் கூட்டமைப்பு சேவைகளில் தொடர்புடைய தரவை மீட்டெடுக்க இது அனுமதிக்கிறது.
இந்த கட்டளை HotChocolate GraphQL சேவையகத்தில் அப்பல்லோ கூட்டமைப்பு ஆதரவை உள்ளமைக்கிறது. ஃபெடரேட் ஸ்கீமா அம்சங்களை இயக்குவது அவசியம் உத்தரவு.
போன்ற சேவையைப் பதிவு செய்கிறது , GraphQL DI கொள்கலனில். சேவைகளை நேரடியாக GraphQL தீர்வியில் செலுத்த இது உங்களை அனுமதிக்கிறது.
SDL மாதிரியில், இந்த உத்தரவு கூட்டமைப்புக்கான முக்கிய விசைப் புலத்தைக் குறிப்பிடுகிறது. குறுக்கு-சேவை உட்பொருளின் தீர்மானத்தை இயக்க, பொருள் வகைகளில் இருக்க வேண்டும் உத்தரவு.
கிராப்க்யூஎல் வினவலை ஒத்திசைவற்ற முறையில் செயல்படுத்துகிறது, இது பொதுவாக யூனிட் சோதனைகளில் பயன்படுத்தப்படும் ஸ்கீமா மற்றும் உத்தரவுகளை உறுதிப்படுத்துகிறது. , முறையாக செயல்படுத்தப்படுகின்றன.
இந்த அம்சம் HotChocolate இல் சேவை மீட்டெடுப்பை செயல்படுத்தி, GraphQL தீர்வு முறை வாதங்களில் களஞ்சியங்கள் அல்லது சேவைகள் போன்ற சார்புகளை உட்செலுத்த பயன்படுகிறது.
XUnit இன் யூனிட் சோதனைக் கட்டளையானது சில சரங்கள் அல்லது கட்டளைகள் போன்றவற்றை உறுதி செய்யப் பயன்படுகிறது கட்டளை, சோதனைகளின் போது உருவாக்கப்பட்ட GraphQL திட்டத்தில் சேர்க்கப்பட்டுள்ளது.

HotChocolate இல் முக்கிய வழிமுறைகளின் பங்கைப் புரிந்துகொள்வது

முதல் ஸ்கிரிப்ட் எவ்வாறு செயல்படுத்துவது என்பதை விளக்குகிறது C# இல் HotChocolate ஐப் பயன்படுத்தி உத்தரவு. இந்த ஸ்கிரிப்ட் உருவாக்கப்பட்ட GraphQL ஸ்கீமாவில் உள்ளதை உறுதி செய்கிறது @விசை அப்பல்லோ கூட்டமைப்புடன் கூட்டமைப்புக்கான உத்தரவு. ஸ்கிரிப்ட் a ஐ உருவாக்குவதன் மூலம் தொடங்குகிறது வகுப்பு மற்றும் ஒதுக்குதல் மற்றும் [ஐடி] அதன் துறைகளுக்கான பண்புகளை. HotChocolate ஐக் குறிக்க இந்த பண்புகள் முக்கியமானவை நிறுவனத்தின் தனிப்பட்ட அடையாளங்காட்டியாக புலம். ஒரு கூட்டமைப்பு GraphQL சேவையை உருவாக்கும் போது இது மிகவும் முக்கியமானது, இதில் பல சேவைகளில் நிறுவனங்களைப் பகிரலாம். இந்தப் புலத்தைக் குறிப்பது, கூட்டமைப்பு வினவல்களில் உள்ள நிறுவனத்தைத் தீர்க்க GraphQL சேவையை அனுமதிக்கிறது.

தி செயல்பாடும் ஸ்கிரிப்ட்டின் இன்றியமையாத அங்கமாகும். இந்த நிலையான செயல்பாடு HotChocolate ஐத் தேடுவதன் மூலம் நிறுவனத்தைத் தீர்க்க உதவுகிறது ஒரு களஞ்சியத்தில் உள்ள பொருள். தி GraphQL சர்வரில் பதிவு செய்யப்பட்டுள்ளது, மற்றும் கிடைக்கும் முறை அதன் மூலம் பெற்றோரை மீட்டெடுக்கிறது . பூட்ஸ்ட்ராப் குறியீட்டில், தி அறிவுறுத்தல் பதிவு செய்கிறது ஆப்ஜெக்ட், இது GraphQL வினவல்களைச் செயல்படுத்தப் பயன்படுகிறது. ParentRepository போன்ற சார்புகளை GraphQL தீர்விகளுக்குள் செலுத்த RegisterService அனுமதிக்கிறது. இந்த வடிவமைப்பு தரவு மீட்டெடுப்பை எளிதாக்குகிறது, அதே நேரத்தில் கவலைகளின் தெளிவான பிரிவினைப் பாதுகாக்கிறது.

இரண்டாவது உதாரணம் ஸ்கீமா-முதல் அணுகுமுறையை எடுக்கிறது. திட்டத்திற்குள் உத்தரவு. GraphQL இன் SDL தொடரியல் ஏற்கனவே நன்கு தெரிந்த குழுக்களுக்கு இந்த தீர்வு மிகவும் பயனுள்ளதாக இருக்கும். இந்த எடுத்துக்காட்டில், தி @விசை உத்தரவு பயன்படுத்தப்படுகிறது வகை, தெளிவாகக் குறிக்கிறது தனிப்பட்ட அடையாளங்காட்டியாக புலம். ஸ்கீமா-ஃபர்ஸ்டைப் பயன்படுத்துவது, கிராஃப்க்யூஎல் ஸ்கீமா எவ்வாறு கட்டமைக்கப்பட்டுள்ளது என்பதில் டெவலப்பர்கள் அதிகக் கட்டுப்பாட்டைக் கொண்டிருக்கவும், சி# குறியீட்டிற்குச் செல்லாமல் அதை மாற்றவும் அனுமதிக்கிறது, இது பெரிய அணிகளுக்கு மிகவும் நெகிழ்வான விருப்பமாக அமைகிறது.

இறுதியாக, யூனிட் சோதனைக் கூறு குறியீடு நோக்கம் கொண்டதைச் செய்கிறது என்பதை உறுதிப்படுத்துகிறது. xUnit சோதனை கட்டமைப்பைப் பயன்படுத்தி, Assert.The கொண்டுள்ளது கட்டளையானது விளைந்த ஸ்கீமாவை உள்ளடக்கியதை உறுதி செய்கிறது உத்தரவு. இந்த சோதனையின் இருப்புக்கான திட்டத்தை உறுதிப்படுத்துகிறது @விசை கட்டளை, சேவையானது கூட்டமைப்பிற்காக சரியாக கட்டமைக்கப்பட்டுள்ளது என்பதை உறுதிப்படுத்துகிறது. யூனிட் சோதனை என்பது உங்கள் GraphQL ஸ்கீமா அல்லது ரிசல்வர் முறைகளில் மாற்றங்கள் செயல்பாட்டிற்கு இடையூறு விளைவிக்காமல் இருப்பதை உறுதிசெய்வதற்கான ஒரு சிறந்த நடைமுறையாகும், குறிப்பாக பல சேவைகள் தடையின்றி செயல்படும் கூட்டமைப்பு அமைப்பில்.

GraphQL ஆப்ஜெக்ட் வகைகளுக்கான HotChocolate இல் முக்கிய கட்டளையை செயல்படுத்துதல்

இந்த தீர்வு C#, HotChocolate மற்றும் Apollo Federation ஆகியவற்றைப் பயன்படுத்தி ஒரு GraphQL ஸ்கீமாவை பின்தளத்தில் இருந்து மாற்றுகிறது.

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 Directive ஐப் பயன்படுத்துவதற்கான 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 Directive உடன் HotChocolate GraphQL ஐ சோதிக்கும் அலகு

கிராஃபிக்யூஎல் திட்டத்தில் @key கட்டளையை HotChocolate சர்வர் சரியாகப் பயன்படுத்துகிறதா என்பதை உறுதிப்படுத்த, 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());
    }
}

அப்பல்லோ ஃபெடரேஷன் மற்றும் ஹாட்சாக்லேட் மூலம் GraphQL ஐ மேம்படுத்துகிறது

ஒரு கூட்டமைப்பு சூழலில் HotChocolate உடன் GraphQL ஐப் பயன்படுத்துவதற்கு நன்கு கட்டமைக்கப்பட்ட ஸ்கீமா தையல் தேவைப்படுகிறது. அப்பல்லோ கூட்டமைப்பு டெவலப்பர்களை ஒரே மாதிரியான இடைமுகத்தை பராமரிக்கும் போது பல சேவைகளில் ஸ்கீமாக்களை பிரிக்க உதவுகிறது. பயன்படுத்தி HotChocolate உடன் உத்தரவு, பல்வேறு சேவைகளில் GraphQL நிறுவனங்கள் எவ்வாறு தீர்க்கப்படுகின்றன என்பதை நீங்கள் குறிப்பிடலாம். இது உங்கள் API ஐ மிகவும் மட்டு மற்றும் அளவிடக்கூடியதாக ஆக்குகிறது, இது குறிப்பாக பெரிய, விநியோகிக்கப்பட்ட அமைப்புகளில் பலனளிக்கும், அங்கு பல குழுக்கள் GraphQL திட்டத்தின் வெவ்வேறு அம்சங்களைக் கட்டுப்படுத்துகின்றன.

ஒரு பொதுவான கூட்டமைப்பு திட்டத்தில், போன்ற நிறுவனங்கள் பல சேவைகளில் இருக்கலாம். அப்பல்லோ கூட்டமைப்பு பயன்படுத்துகிறது ஒரு குறிப்பிட்ட புலத்தின் அடிப்படையில் ஒரு நிறுவனத்தை தனித்துவமாக அடையாளம் காண்பதற்கான உத்தரவு . அப்பல்லோ ஃபெடரேஷனுக்கான HotChocolate இன் ஆதரவு, உங்கள் சேவை ஒரு பெரிய உள்கட்டமைப்பில் சிரமமின்றி ஒருங்கிணைக்கப்படுவதை உறுதி செய்கிறது. விசைகளை அமைப்பதற்கு கூடுதலாக, நீங்கள் கூட்டமைப்பு உத்தரவுகளைப் பயன்படுத்தலாம் @நீடிக்கிறது அல்லது உங்கள் GraphQL அமைப்பிற்கு அதிக நெகிழ்வுத்தன்மையை வழங்கும், பல மைக்ரோ சர்வீஸ்களில் பரவியிருக்கும் தரவு புலங்களை நிர்வகிக்க.

HotChocolate ஐப் பயன்படுத்தும் போது மற்றொரு முக்கிய காரணி செயல்திறன் மேம்படுத்தல் ஆகும். தரவை அதிகமாகப் பெறுவது என்பது GraphQL API களில், குறிப்பாக கூட்டமைப்பு சூழல்களில் பொதுவான பிரச்சினையாகும். போன்ற சரியான தீர்வுகளைப் பயன்படுத்துதல் முந்தைய நிகழ்வுகளில் விவரிக்கப்பட்டது, உங்கள் API அதிகப்படியான தேடல்கள் இல்லாமல் தேவையான தரவை மட்டுமே வழங்குகிறது என்று உத்தரவாதம் அளிக்கிறது. மேலும், HotChocolate மேம்பட்ட வினவல் தொகுப்பு மற்றும் கேச்சிங் அல்காரிதம்களை ஆதரிக்கிறது, இது ஒரு கூட்டமைப்பு திட்டத்தில் API பதில் வேகம் மற்றும் செயல்திறனை அதிகரிக்கும்.

  1. அப்போலோ கூட்டமைப்பு GraphQL மேம்பாட்டிற்கு எவ்வாறு பயனளிக்கிறது?
  2. Apollo Federation ஆனது GraphQL ஸ்கீமாக்களை பல சேவைகளாகப் பிரிக்க உங்களை அனுமதிக்கிறது.
  3. என்ன HotChocolate இல் பயன்படுத்தப்படும் உத்தரவு?
  4. தி உத்தரவு ஒரு நிறுவனத்திற்கு ஒரு தனித்துவமான அடையாளங்காட்டியை உருவாக்குகிறது, இது பல GraphQL சேவைகளில் தீர்க்கப்படுவதற்கு உதவுகிறது.
  5. நான் பயன்படுத்தலாமா மற்றும் HotChocolate இல் உள்ள பண்புக்கூறுகள்?
  6. ஆம், தி சொத்து கூட்டமைப்புக்கு பயன்படுத்தப்படுகிறது, மற்றும் திட்டத்திற்குள் ஒரு அடையாளங்காட்டியாக புலத்தை குறிப்பிடுகிறது.
  7. என்ன செய்கிறது ஹாட்சாக்லேட்டில் செய்யவா?
  8. உங்கள் தீர்வுகளுக்குள் சார்பு உட்செலுத்தலை செயல்படுத்துவதன் மூலம், GraphQL சேவையகத்துடன் களஞ்சியம் போன்ற சேவையைப் பதிவுசெய்கிறது.
  9. HotChocolate மூலம் GraphQL ஸ்கீமாக்களை எப்படிச் சோதிக்கிறீர்கள்?
  10. ஹாட்சாக்லேட் ஸ்கீமாவை செயல்படுத்துவதன் மூலம் யூனிட் சோதனைகளைப் பயன்படுத்தி ஸ்கீமா சோதனையை செயல்படுத்துகிறது மற்றும் இது போன்ற உத்தரவுகளை சரிபார்க்கிறது விளைவாக விளைவாக.

HotChocolate ஐப் பயன்படுத்துதல் உத்தரவு உங்கள் கூட்டமைப்பை உறுதி செய்கிறது அப்பல்லோ கூட்டமைப்பிற்காக சரியான முறையில் கட்டமைக்கப்பட்டுள்ளது. இந்த அணுகுமுறை ஆப்ஜெக்ட் வகை நிர்வாகத்தை மேம்படுத்துகிறது மற்றும் குறுக்கு-சேவை நிறுவன தீர்மானத்தை அனுமதிக்கிறது.

உங்கள் GraphQL சேவையகத்தை HotChocolate உடன் கட்டமைத்தல் மற்றும் போன்ற வழிமுறைகளைப் பயன்படுத்துதல் பெரிய, விநியோகிக்கப்பட்ட APIகளை உருவாக்குவதை எளிதாக்குகிறது. இந்த உத்தியானது நிலையான, உயர்-செயல்திறன் ஸ்கீமா தையலைப் பராமரிக்கும் போது, ​​உங்கள் சேவைகளை மிக எளிதாக நீட்டிக்க உதவுகிறது.

  1. பயன்பாடு பற்றி விரிவாகக் கூறுகிறது அப்பல்லோ கூட்டமைப்பில் உள்ள உத்தரவு மற்றும் அது ஹாட்சாக்லேட்டுடன் எவ்வாறு ஒருங்கிணைக்கிறது. மேலும் விவரங்களுக்கு, அதிகாரப்பூர்வ HotChocolate ஆவணத்தைப் பார்க்கவும் ஹாட்சாக்லேட் டாக்ஸ் .
  2. HotChocolate ஐப் பயன்படுத்தி அப்பல்லோ ஃபெடரேஷன் மூலம் GraphQL ஐ உள்ளமைக்கும் கண்ணோட்டத்தை வழங்குகிறது. இதிலிருந்து இந்த வழிகாட்டியைப் பார்க்கவும் அப்பல்லோ ஃபெடரேஷன் டாக்ஸ் மேலும் தகவலுக்கு.
  3. HotChocolate ஐப் பயன்படுத்தி GraphQL இல் சேவை பதிவு மற்றும் வினவல் தீர்மானம் பற்றிய விரிவான உதாரணத்தை வழங்குகிறது. மேலும் இந்த கட்டுரையில் காணலாம் HotChocolate உடன் சேவை ஒருங்கிணைப்புகள் .