Last Updated: November 21, 2025
NestJS
Progressive Node.js framework
Core Concepts
| Item | Description |
|---|---|
Module
|
Organize application structure |
Controller
|
Handle HTTP requests |
Provider
|
Injectable service |
Middleware
|
Request processing |
Guard
|
Authorization logic |
Pipe
|
Data transformation/validation |
Interceptor
|
Request/response transformation |
Controller Example
// users.controller.ts
import { Controller, Get, Post, Body, Param } from '@nestjs/common';
import { UsersService } from './users.service';
@Controller('users')
export class UsersController {
constructor(private usersService: UsersService) {}
@Get()
findAll() {
return this.usersService.findAll();
}
@Get(':id')
findOne(@Param('id') id: string) {
return this.usersService.findOne(id);
}
@Post()
create(@Body() createUserDto: CreateUserDto) {
return this.usersService.create(createUserDto);
}
}
Decorators
| Item | Description |
|---|---|
@Module()
|
Define module |
@Controller()
|
Define controller |
@Injectable()
|
Make class injectable |
@Get(), @Post()
|
HTTP methods |
@Param(), @Body()
|
Extract request data |
@UseGuards()
|
Apply guards |
Best Practices
- Use dependency injection for testability
- Organize code into modules
- Use DTOs for data validation
- Leverage built-in validation pipes
💡 Pro Tips
Quick Reference
NestJS uses Angular-inspired architecture for Node.js