TECNOLOBO

No recuerdas tu codigo?
Se te olvido como se hace?

Aqui podras guardar lo que necesiten
Y cuando sea necesesario

Creado por julian gomez
iiiiii

servicios nest



Descripcion

Como crear un servicio

Nota1


Provider: Estos son basicamente clases que se pueden inyectar. y estos no siempre van a tener logica de negocio
Servicio: Es todo aquello que tiene la logica de negocio para extraer datos y manejarlos, adicional 
se pueden inyectar en otras clases. tambien todos los serivicios son provider.


NOTA: para este ejemplo se creara un servicio que solo sirva un json objeto literal quemado

						

Modulo


a
						

Servicio


a
						

Controlador


import { Body, Controller,Delete,Get, Param, ParseIntPipe, Patch, Post } from '@nestjs/common';
import { CarsService } from './cars.service';

@Controller('cars')
export class CarsController {
 
  constructor(
    private readonly carsService:CarsService //aqui se inyecta el servicio para poder usarlo
  ){

  }

  //asi se va manejar solicitudes get
  @Get()
  getAllCars(){
    return this.carsService.findAll();
  }

  //asi se va manejar solicitudes get con parametros haciendo uso del decorador @Param
  @Get(':id')
  getCarById(@Param('id',ParseIntPipe) id:number){
    return this.carsService.findById(Number(id));
  }

  //asi se va manejar solicitudes post y se va captar el body con el decorador   @Body()
  @Post()
  crarCarro(@Body() body:any){
    return {
      body
    }
  }

  @Patch(':id')
  updateCard(
    @Param('id',ParseIntPipe) id:number,
    @Body() body:any
    ){
    return body
  }

  @Delete(':id')
  deleteCard(@Param('id',ParseIntPipe) id:number){
    return {
      "metod":"delete",
      id :id
    }
  }



}

						

Entity


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

@Injectable()
export class CarsService {

  private cars=[
    {
      id:1,
      name:'bran',
      modelo:'Corolla'
    },
    {
      id:2,
      name:'Honda',
      modelo:'Sid'
    },
    {
      id:3,
      name:'Jeep',
      modelo:'Otra'
    }
  ];

  findAll(){
    return this.cars;
  }

  findById(id:number){    
    const cart = this.cars.find(car=>car.id===id);
    if(!cart) throw new NotFoundException(`el carro con el id=${id} no existe`); //Estos puede enviar el mensaje personalizado si asi se dese por parametro
   
    return cart;
  }


}

						

App.module


a
						

Main


a