using Microsoft.AspNetCore.Mvc; 🌐 Framework para servicios web RESTfulusing MongoDB.Driver; 🧬 Cliente oficial de MongoDB para .NETusing POC_001_HelloWorldREST.Models; 🧱 Modelos de datos, incluyendo Commentusing POC_001_HelloWorldREST.Services; 🛠️ Servicios como MongoDbServiceusing System; ⚙️ Tipos base de .NET (excepciones, fechas, etc.)using System.Collections.Generic; 📚 Soporte para listas genéricasusing System.Threading.Tasks; ⏱️ Programación asincrónica con TaskCommentsControllerEs un controlador API que maneja solicitudes HTTP en la ruta base api/comments. Permite obtener los primeros 20 comentarios desde MongoDB.
El constructor recibe una instancia de MongoDbService mediante inyección de dependencias (DI), facilitando pruebas, mantenimiento y separación de responsabilidades.
El método GetFirst20Comments() responde a solicitudes GET, devuelve una lista de objetos Comment obtenida desde la base de datos:
El bloque try-catch distingue entre errores de MongoDB y errores inesperados:
MongoException o TimeoutException: Retorna un error personalizado indicando problemas con la base de datos.error.MongoDbService como dependencia externa inyectada.CommentsController es un ejemplo bien estructurado de controlador RESTful en ASP.NET Core que sigue buenas prácticas de diseño y arquitectura limpia. Está orientado a servicios asincrónicos y a la separación clara entre la lógica de presentación (API) y de persistencia (servicio).