Controlador de Contactos en API con Visual Studio Code

Clase 12 de 17Curso de SQL en Azure

Resumen

¿Cómo insertar registros en una tabla de contacto?

Insertar registros en una base de datos es crucial para cualquier aplicación que maneje información de usuarios o clientes. En este caso, usamos una tabla llamada contactos para añadir datos esenciales como nombre, correo electrónico y teléfono. Mira cómo se realiza este proceso:

INSERT INTO dbo.contactos (nombre, email, telefono)
VALUES ('Amin Espinosa', 'amin@correo.com', '5548784515');

Aquí hemos añadido un registro de ejemplo. Ejecutar esta consulta inserta un nuevo registro en la tabla. Puedes ampliar estas inserciones con datos adicionales como:

  • Isis García: isis@correo.com, teléfono: xxxxxxxxxx.
  • Arturo Martínez: arturo@correo.com, teléfono: xxxxxxxxxx.

Es importante tener variedad en los registros con varios contactos de tu entorno para obtener resultados más diversos y suficientes para futuras pruebas.

¿Cómo visualizar los datos insertados?

Una vez que se han añadido los registros a la tabla, el siguiente paso es verificar que están correctamente almacenados. Utilizamos una sentencia de selección SQL:

SELECT * FROM dbo.contactos;

Esta declaración recupera todos los registros de la tabla contactos, permitiéndote confirmar que se han insertado correctamente.

¿Cómo crear un controlador en Visual Studio Code?

Dentro de Visual Studio Code, un controlador facilita la comunicación entre la base de datos y la interfaz de usuario. Vamos a crear uno llamado ContactoController utilizando C#.

Primero, integra las siguientes directivas en tu archivo:

using Microsoft.AspNetCore.Mvc;
using System.Collections.Generic;
using System.Linq;
using MiAplicacion.Models;

Estas directivas permiten gestionar las colecciones, realizar consultas y acceder a modelos dentro del entorno .NET.

Implementación del Controlador

Define la estructura básica del controlador y su constructor. La herencia es crucial para el funcionamiento del controlador:

public class ContactoController : Controller
{
    private readonly ContactContext _context;

    public ContactoController(ContactContext context)
    {
        _context = context;
    }
}

Aquí utilizamos un constructor que recibe ContactContext, permitiendo al controlador interactuar con la base de datos.

¿Cómo agregar métodos HTTP y manejar rutas?

Establece rutas y métodos HTTP para que el controlador maneje solicitudes adecuadamente:

[Route("api/[controller]")]
[ApiController]
public class ContactoController : ControllerBase
{
    [HttpGet]
    public IEnumerable<Contact> Get()
    {
        return _context.Contactos.ToList();
    }
}

Esto define cómo se obtienen los contactos mediante una solicitud HTTP GET, retornando todos los registros desde la base de datos.

¿Cómo gestionar la recolección de recursos?

Para liberar recursos una vez que se completa la solicitud, implementa un destructor:

~ContactoController()
{
    _context.Dispose();
}

Este método se asegura de que toda la memoria utilizada se libere, previniendo un consumo innecesario de recursos.

¿Listo para probar tu API localmente? Guarda tus cambios y ejecuta el ambiente de pruebas antes de la publicación. Siempre es fundamental comenzar en un entorno seguro y controlado para evitar errores en producción.