Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Creating and Using a Service | Section
Building Backend Applications with Nest.js

bookCreating and Using a Service

Glissez pour afficher le menu

Open the src folder and create a new file:

users.service.ts

Add the following code:

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

@Injectable()
export class UsersService {
  getAllUsers() {
    return ['Alice', 'Bob'];
  }
}

This service contains the logic for working with users.

Now register the service in your module.

Open app.module.ts and update it:

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

@Module({
  imports: [],
  controllers: [AppController, UsersController],
  providers: [AppService, UsersService],
})
export class AppModule {}

Here is what is happening:

  • providers: registers services used in the app;
  • UsersService: makes the service available for use.

Now use the service inside your controller:

import { Controller, Get } from '@nestjs/common';
import { UsersService } from './users.service';

@Controller('users')
export class UsersController {
  constructor(private usersService: UsersService) {}

  @Get()
  getUsers() {
    return this.usersService.getAllUsers();
  }
}

  • constructor: injects the service;
  • usersService: gives access to service methods;
  • getUsers(): calls the service and returns data.

Now when you open /users, the data comes from the service instead of being defined in the controller.

question mark

Where do you register a service so it can be used in Nest.js?

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 10

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Section 1. Chapitre 10
some-alt