Creating and Using a Service
Svep för att visa menyn
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.
Var allt tydligt?
Tack för dina kommentarer!
Avsnitt 1. Kapitel 10
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Avsnitt 1. Kapitel 10