@tresdoce-nestjs-toolkit/response-parser v1.1.4
⚠️ Es importante tener en cuenta que este interceptor 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
- 🥳 Demo
- 📝 Requerimientos básicos
- 🛠️ Instalar dependencia
- ⚙️ Configuración
- 🖥 Respuesta
- 📄 Changelog
- 📜 License MIT
📝 Requerimientos básicos
- NestJS Starter
- Node.js v18.17.0 or higher (Download)
- YARN v1.22.18 or higher
- NPM v9.6.7 or higher
- NestJS v10.3.0 or higher (Documentación)
🛠️ Instalar dependencia
npm install -S @tresdoce-nestjs-toolkit/response-parser
yarn add @tresdoce-nestjs-toolkit/response-parser
⚙️ Configuración
Para utilizar este interceptor, es necesario instanciarlo como provider en el módulo principal (app.module.ts
),
ya que este tiene integrado el uso del ConfigService
para realizar la propagación de custom headers en la respuesta.
La implementación del formato de respuesta está implícito en cada respuesta de los controladores.
//./src/app.module.ts
import { APP_INTERCEPTOR } from '@nestjs/core';
import { ResponseInterceptor } from '@tresdoce-nestjs-toolkit/response-parser';
@Module({
//...
providers: [
//...
{
provide: APP_INTERCEPTOR,
useClass: ResponseInterceptor,
},
//...
],
//...
})
export class AppModule {}
🖥 Respuesta
Single entity response
{
"id": 1,
"name": "juan",
"lastname": "perez"
}
Multiple entity response
{
"data": [
{
"id": 1,
"name": "juan",
"lastname": "perez"
},
{
"id": 2,
"name": "jose",
"lastname": "gonzalez"
}
//...
]
}
Propagación de Headers
Para realizar la propagación de headers en la respuesta, solo se requiere agregar la propiedad propagateHeaders
en la
configuración centralizada, esta propiedad admite un array de strings que puede ser configurada desde variables de entorno
como un string separado por comas.
//./src/config/configuration.ts
import { Typings } from '@tresdoce-nestjs-toolkit/core';
import { registerAs } from '@nestjs/config';
export default registerAs('config', (): Typings.AppConfig => {
return {
//...
server: {
//...
propagateHeaders: process.env.PROPAGATE_HEADERS
? process.env.PROPAGATE_HEADERS.split(',')
: [],
//...
},
//...
};
});
#.env
#...
PROPAGATE_HEADERS=x-custom-header-1,x-custom-header-2,x-custom-header-n
#...
📄 Changelog
Todos los cambios notables de este paquete se documentarán en el archivo Changelog.
4 months ago
9 months ago
10 months ago
10 months ago
9 months ago
6 months ago
9 months ago
8 months ago
9 months ago
9 months ago
9 months ago
9 months ago
6 months ago
8 months ago
9 months ago
10 months ago
10 months ago
10 months ago
6 months ago
6 months ago
9 months ago
9 months ago
9 months ago
9 months ago
10 months ago
10 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago