Frente a cada petición HTTP, el servidor genera una respuesta basada en los servicios que vos diseñas. Para poder trabajar mejor con ellas, podemos utilizar herramientas como response y request. Estas herramientas vienen de Express, pero son aplicables en Nest porque este ultimo es un framework basado en Express. Vamos a agarrar el controlador con el que se maneja la ruta de inicio de la app
@Controller('/')
export class AppController {
@Get()
welcome() {
return 'Hola mundo!';
}
}
Ahora vamos a configurarle el request y el response
import { Controller, Get, Req, Res } from '@nestjs/common';
import { Request, Response } from 'express';
@Controller('/')
export class AppController {
@Get()
welcome(@Req() request: Request, @Res() response: Response) {
return 'Hola mundo!';
}
}
Listo. Ya podemos trabajar con las respuestas. Ahora vamos a hacer lo mismo que hacia la app al principio, que cuando el HTTP status sea 200 (es decir, que la peticion fue satisfactoria) nos devuelva un hola mundo
@Controller('/')
export class AppController {
@Get()
welcome(@Req() request: Request, @Res() response: Response) {
return response.status(200).send('Ahora estoy trabajando mejor con Nest!');
}
}
También podes pasarle objetos en formato JSON
@Controller('/')
export class AppController {
@Get()
welcome(@Req() request: Request, @Res() response: Response) {
return response.status(200).json({
message: 'Hello world',
});
}
}