2.0.2 • Published 4 months ago

@tresdoce-nestjs-toolkit/filters v2.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
4 months ago

⚠️ Es importante tener en cuenta que este filtro se encuentra implementado en el package @tresdoce-nestjs-toolkit/paas, ya que es una funcionalidad core para el starter.

Este módulo está pensada para ser utilizada en NestJS Starter, o cualquier proyecto que utilice una configuración centralizada, siguiendo la misma arquitectura del starter.

Glosario


📝 Requerimientos básicos

🛠️ Instalar dependencia

npm install -S @tresdoce-nestjs-toolkit/filters
yarn add @tresdoce-nestjs-toolkit/filters

⚙️ Configuración

//./src/main.ts
import { ConfigService } from '@nestjs/config';
import { ExceptionsFilter } from '@tresdoce-nestjs-toolkit/filters';

//...

async function bootstrap() {
  //...
  const appConfig = app.get<ConfigService>(ConfigService)['internalConfig']['config'];
  app.useGlobalFilters(new ExceptionsFilter(appConfig));
  //...
}

👨‍💻 Uso

Para conocer sobre todas las excepciones disponibles, ingresa a la documentación de NestJS - Exception Filters

HttpException

try {
  //...
} catch (error) {
  throw new HttpException(error.message, error.response.status);
}
try {
  //...
} catch (error) {
  throw new HttpException(
    {
      message: error.message,
    },
    error.response.status,
  );
}

Custom message HttpException

try {
  //...
} catch (error) {
  throw new HttpException('This is a message', error.response.status);
}
try {
  //...
} catch (error) {
  throw new HttpException(
    {
      message: 'This is a message',
    },
    error.response.status,
  );
}

Simple exception

try {
  //...
} catch {
  throw new Error('this is an error');
}

Example response

{
  "error": {
    "status": 404,
    "instance": "GET /api/characters",
    "code": "API-PREFIX-NOT_FOUND",
    "message": "Request failed with status code 404"
  }
}
{
  "error": {
    "status": 404,
    "instance": "GET /api/users/123456",
    "code": "MY-API-NOT_FOUND",
    "message": "User #123456 not found"
  }
}
{
  "error": {
    "status": 400,
    "instance": "POST /api/users",
    "code": "MY-API-BAD_REQUEST",
    "message": "Bad Request",
    "detail": [
      {
        "message": "firstName must be a string"
      },
      {
        "message": "lastName must be a string"
      },
      {
        "message": "email must be an email"
      },
      {
        "message": "email must be a string"
      }
    ]
  }
}

📄 Changelog

Todos los cambios notables de este paquete se documentarán en el archivo Changelog.


2.0.2

4 months ago

2.0.2-beta.0

4 months ago

2.0.1

5 months ago

2.0.0

5 months ago

1.2.8

6 months ago

1.2.7

7 months ago

1.2.6-beta.0

7 months ago

1.2.6

7 months ago

1.2.5

7 months ago

1.2.5-beta.11

7 months ago

1.2.5-beta.10

7 months ago

1.2.5-beta.9

7 months ago

1.2.5-beta.5

7 months ago

1.2.5-beta.6

7 months ago

1.2.5-beta.8

7 months ago

1.2.4

7 months ago

1.2.5-beta.1

7 months ago

1.2.5-beta.2

7 months ago

1.2.5-beta.3

7 months ago

1.2.5-beta.4

7 months ago

1.2.5-beta.0

7 months ago

1.1.4-beta.1

8 months ago

1.1.5-beta.0

8 months ago

1.1.4-beta.2

8 months ago

1.1.4-beta.5

8 months ago

1.1.4-beta.3

8 months ago

1.1.4-beta.4

8 months ago

1.1.5

8 months ago

1.1.4

8 months ago

1.1.4-beta.0

8 months ago

1.1.3-beta.0

9 months ago

1.1.3

9 months ago

1.1.1-beta.2

11 months ago

1.1.0-beta.2

1 year ago

1.1.1-beta.3

11 months ago

1.1.0-beta.1

1 year ago

1.1.1-beta.0

11 months ago

1.1.0-beta.0

1 year ago

1.1.1-beta.1

11 months ago

1.1.0-beta.5

12 months ago

1.1.1-beta.4

11 months ago

1.1.0-beta.4

12 months ago

1.1.0-beta.3

1 year ago

1.1.1

11 months ago

1.1.0

12 months ago

1.1.2

11 months ago

1.0.5

1 year ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

0.3.3-beta.1

2 years ago

0.3.2-beta.1

2 years ago

0.3.4-beta.0

2 years ago

0.3.2-beta.0

2 years ago

0.3.3-beta.0

2 years ago

0.3.2

2 years ago

0.3.3

2 years ago

0.3.2-beta.2

2 years ago

1.0.4-beta.0

2 years ago

1.0.3-beta.0

2 years ago

1.0.1-beta.2

2 years ago

1.0.0-beta.2

2 years ago

1.0.1-beta.1

2 years ago

1.0.2-beta.0

2 years ago

1.0.1-beta.0

2 years ago

1.0.1-beta.4

2 years ago

1.0.0-beta.0

2 years ago

1.0.1-beta.3

2 years ago

1.0.0-beta.1

2 years ago

0.3.0-beta.2

2 years ago

0.3.0-beta.3

2 years ago

0.3.0

2 years ago

0.3.0-beta.0

2 years ago

0.3.0-beta.1

2 years ago

0.3.0-beta.4

2 years ago

0.3.1

2 years ago

0.2.0-beta.0

2 years ago

0.2.0

2 years ago

0.1.8-beta.0

2 years ago

0.1.7-beta.0

3 years ago

0.1.8

2 years ago

0.1.7

3 years ago

0.1.6

3 years ago

0.1.4-beta.0

3 years ago

0.1.4

3 years ago

0.1.5

3 years ago

0.1.0

3 years ago

0.1.0-beta.3

3 years ago

0.1.2

3 years ago

0.1.1-beta.0

3 years ago

0.1.1

3 years ago

0.1.3

3 years ago

0.1.0-beta.2

3 years ago

0.1.0-beta.1

3 years ago

0.1.0-beta.0

3 years ago