برنامه نویسی

چگونه GraphQL API را در Nest JS ایجاد کنیم؟ دستورالعمل های گام به گام!

ایجاد یک GraphQL API در NestJS شامل چندین مرحله است. در اینجا یک راهنمای نظری گام به گام آورده شده است:

مرحله 1: یک پروژه NestJS جدید راه اندازی کنید

  1. Nest CLI را نصب کنید:
   npm install -g @nestjs/cli
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

  1. یک پروژه جدید ایجاد کنید:
   nest new project-name
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

  1. به دایرکتوری پروژه بروید:
   cd project-name
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 2: GraphQL و Apollo Server را نصب کنید

  1. بسته های مورد نیاز را نصب کنید:
   npm install @nestjs/graphql graphql apollo-server-express
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 3: ماژول GraphQL را پیکربندی کنید

  1. یک پیکربندی ماژول GraphQL ایجاد کنید: باز کن src/app.module.ts و ماژول GraphQL را پیکربندی کنید:
   import { Module } from '@nestjs/common';
   import { GraphQLModule } from '@nestjs/graphql';
   import { join } from 'path';

   @Module({
     imports: [
       GraphQLModule.forRoot({
         autoSchemaFile: join(process.cwd(), 'src/schema.gql'),
       }),
     ],
   })
   export class AppModule {}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 4: یک Resolver ایجاد کنید

  1. یک Resolver ایجاد کنید: از Nest CLI برای ایجاد یک حل‌کننده استفاده کنید:
   nest g resolver user
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

  1. منطق Resolver را تعریف کنید: باز کن src/user/user.resolver.ts و منطق حل کننده را تعریف کنید:
   import { Resolver, Query, Mutation, Args } from '@nestjs/graphql';
   import { UserService } from './user.service';
   import { User } from './user.entity';
   import { CreateUserInput } from './dto/create-user.input';

   @Resolver(of => User)
   export class UserResolver {
     constructor(private readonly userService: UserService) {}

     @Query(returns => [User])
     async users() {
       return this.userService.findAll();
     }

     @Mutation(returns => User)
     async createUser(@Args('createUserInput') createUserInput: CreateUserInput) {
       return this.userService.create(createUserInput);
     }
   }
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 5: یک سرویس ایجاد کنید

  1. یک سرویس ایجاد کنید: از Nest CLI برای ایجاد یک سرویس استفاده کنید:
   nest g service user
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

  1. پیاده سازی منطق خدمات: باز کن src/user/user.service.ts و منطق سرویس را پیاده سازی کنید:
   import { Injectable } from '@nestjs/common';
   import { User } from './user.entity';
   import { CreateUserInput } from './dto/create-user.input';

   @Injectable()
   export class UserService {
     private users: User[] = [];

     findAll(): User[] {
       return this.users;
     }

     create(createUserInput: CreateUserInput): User {
       const user = { ...createUserInput, id: Date.now().toString() };
       this.users.push(user);
       return user;
     }
   }
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 6: طرحواره GraphQL و DTO را تعریف کنید

  1. طرحواره GraphQL و DTO ایجاد کنید: ایجاد کنید src/user/user.entity.ts:
   import { ObjectType, Field, ID } from '@nestjs/graphql';

   @ObjectType()
   export class User {
     @Field(type => ID)
     id: string;

     @Field()
     name: string;

     @Field()
     email: string;
   }
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ایجاد کنید src/user/dto/create-user.input.ts:

   import { InputType, Field } from '@nestjs/graphql';

   @InputType()
   export class CreateUserInput {
     @Field()
     name: string;

     @Field()
     email: string;
   }
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 7: به روز رسانی ماژول

  1. ماژول را به‌روزرسانی کنید تا Resolver و Service را در بر بگیرد: باز کن src/user/user.module.ts و آن را به روز کنید:
   import { Module } from '@nestjs/common';
   import { UserService } from './user.service';
   import { UserResolver } from './user.resolver';

   @Module({
     providers: [UserService, UserResolver],
   })
   export class UserModule {}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 8: ماژول کاربر را یکپارچه کنید

  1. ماژول کاربر را در ماژول برنامه ادغام کنید: باز کن src/app.module.ts و آن را به روز کنید:
   import { Module } from '@nestjs/common';
   import { GraphQLModule } from '@nestjs/graphql';
   import { join } from 'path';
   import { UserModule } from './user/user.module';

   @Module({
     imports: [
       GraphQLModule.forRoot({
         autoSchemaFile: join(process.cwd(), 'src/schema.gql'),
       }),
       UserModule,
     ],
   })
   export class AppModule {}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 9: برنامه را اجرا کنید

  1. برنامه NestJS را راه اندازی کنید:
   npm run start:dev
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 10: GraphQL API را آزمایش کنید

  1. به زمین بازی GraphQL دسترسی پیدا کنید: هدایت به http://localhost:3000/graphql برای دسترسی به زمین بازی GraphQL و آزمایش API خود با اجرای کوئری ها و جهش ها.

این راهنما یک رویکرد اساسی برای ایجاد یک GraphQL API در NestJS ارائه می دهد. شما می توانید آن را بیشتر گسترش داده و بر اساس نیازهای برنامه خود سفارشی کنید.

سلب مسئولیت: این محتوا توسط هوش مصنوعی تولید شده است.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا