NestJS: backend-API:er för företag · Lektion

Moduler, controllers och tjänster

Fördjupa dig i kärnkomponenterna: hur moduler organiserar kod, controllers hanterar anrop och tjänster kapslar in affärslogik.

Lektion 3 av 310 steg

Moduler, controllers och tjänster är en gratis lektion i NestJS: backend-API:er för företag på CoddyKit. Detta är lektion 3 av 3. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för NestJS: backend-API:er för företag, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i NestJS: backend-API:er för företag innehåller totalt 3 lektioner.

NestJS byggstenar

En NestJS-app byggs av tre centrala byggstenar – Modules, Controllers och Services – som organiserar koden, hanterar förfrågningar och innehåller logik.

Organisera med moduler

En Module (en klass med @Module()) är en funktionsgrupp: den samlar relaterade controllers och services och definierar deras beroendeomfattning.

Er första NestJS-modul

Den här AppModule visar dekoratören @Module() som deklarerar en controller och en service och gör dem tillgängliga inom dess omfattning.

import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';

@Module({
  imports: [],       // Other modules this module needs
  controllers: [AppController], // Controllers handled by this module
  providers: [AppService],   // Services (providers) available in this module
  exports: [],       // Providers to export for other modules
})
export class AppModule {}

Controllers: hantera förfrågningar

Controllers (klasser med @Controller()) hanterar inkommande HTTP-förfrågningar och returnerar svar, medan den mer omfattande logiken delegeras till services.

En enkel API-slutpunkt

Den här AppController använder @Get() för att hantera GET-förfrågningar till / och anropar AppService för själva meddelandet.

import { Controller, Get } from '@nestjs/common';
import { AppService } from './app.service';

@Controller() // Optional path prefix, e.g., '@Controller('users')'
export class AppController {
  constructor(private readonly appService: AppService) {}

  @Get() // Handles GET requests to '/' (or '/users' if prefix exists)
  getHello(): string {
    return this.appService.getHello();
  }
}

Services: navet för affärslogik

Services (providers märkta med @Injectable()) innehåller er affärslogik och era databasanrop – återanvändbara enheter som injiceras i controllers för att hålla dem enkla.

Er logik i en service

Den här AppService tillhandahåller en metod som controllern kan anropa. Dekoratören @Injectable() gör att NestJS kan hantera den via DI.

import { Injectable } from '@nestjs/common';

@Injectable()
export class AppService {
  getHello(): string {
    return 'Hello from NestJS!';
  }
}

Knyta ihop delarna

Dependency Injection kopplar ihop delarna: deklarera delarna i en modul, be om servicen i controllerns konstruktor och låt Nest injicera den.

import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';

async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  await app.listen(3000);
  console.log('NestJS application is running on http://localhost:3000');
}
bootstrap();

// When you visit http://localhost:3000,
// AppController's getHello() is called,
// which in turn calls AppService's getHello().

Kontroll av komponenternas roller

Ni har lärt er om Modules, Controllers och Services. Hur väl förstår ni deras huvudsakliga roller?

Sammanfattning av kärnkomponenterna

Ni har lärt er om kärntrion: Modules organiserar, Controllers hanterar förfrågningar och Services innehåller logik – allt sammankopplat genom DI. Härnäst: TypeORM!

Gratis att börja

Lär dig TypeScript med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
20
Lektioner
76

Vanliga frågor

Är lektionen ”Moduler, controllers och tjänster” gratis?

Ja – hela texten till ”Moduler, controllers och tjänster” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i NestJS: backend-API:er för företag, kan Ni uppgradera till CoddyKit PRO. Kursen i NestJS: backend-API:er för företag innehåller totalt 3 lektioner.

Vad lär jag mig i ”Moduler, controllers och tjänster”?

Fördjupa dig i kärnkomponenterna: hur moduler organiserar kod, controllers hanterar anrop och tjänster kapslar in affärslogik. Ni övar på NestJS: backend-API:er för företag med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig NestJS: backend-API:er för företag?

Du behöver inga förkunskaper. Utbildningen i NestJS: backend-API:er för företag på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 3.

Hur lång tid tar lektionen ”Moduler, controllers och tjänster”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här NestJS: backend-API:er för företag-lektionen?

Ja. Varje NestJS: backend-API:er för företag-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Introduktion till NestJS-ramverket
  2. Projektstruktur och CLI
  3. Moduler, controllers och tjänster
← Tillbaka till NestJS: backend-API:er för företag