Modulos
Agrupa elementos relacionados: controladores, servicios, proveedores, etc. Todo proyecto empieza por el módulo raíz: AppModule
.
import { Module } from '@nestjs/common';
import { UserModule } from './user/user.module';
@Module({
imports: [UserModule],
})
export class AppModule {}
Controladores
Se encargan de recibir las solicitudes HTTP (GET, POST, etc.) y devolver respuestas.
import { Controller, Get, Post, Body } from '@nestjs/common';
import { UserService } from './user.service';
@Controller('users')
export class UserController {
constructor(private readonly userService: UserService) {}
@Get()
findAll() {
return this.userService.getAllUsers();
}
@Post()
create(@Body() userData: any) {
return this.userService.createUser(userData);
}
}
Servicios
Contienen la lógica de negocio y se inyectan en los controladores u otros servicios.
import { Injectable } from '@nestjs/common';
@Injectable()
export class UserService {
private users = [];
getAllUsers() {
return this.users;
}
createUser(user: any) {
this.users.push(user);
return user;
}
}