Probar una API en .NET puede ser rápido y claro si usas el archivo .HTTP, Visual Studio y Postman. Aquí aprenderás a ejecutar requests, leer respuestas en JSON, generar pruebas repetibles y detectar errores como CORS con un cliente HTML. Todo con foco en .NET 10, su plantilla base y buenas prácticas para entornos.
¿Cómo probar una API con archivo .HTTP en .NET 10?
El archivo .HTTP que viene con la plantilla de .NET permite crear pruebas auto-documentadas que viajan con el repositorio en Git. Define una URL base con una variable y construye requests con verbos como GET, POST, PUT, PATCH o DELETE. La consola Interactive en Visual Studio muestra el estado y errores de ejecución.
Variables con @: definen la base, por ejemplo el host address local.
URL base vs. endpoints: la base cambia por ambiente; los endpoints permanecen estables.
Ejecución: usa send request o debug y observa tiempos, tamaños y encabezados.
Métricas: tiempo de ejecución y tamaño de la respuesta en el panel de resultados.
Git: tus pruebas quedan versionadas como documentación viva.
Requisito temporal: al momento de la grabación, se requiere instalar el SDK de .NET 9 para usar la herramienta con la plantilla de .NET 10.
Ejemplo de archivo .HTTP:
@cursoapi_HostAddress = http://localhost:5000
GET {{cursoapi_HostAddress}}/weatherforecast
Accept:application/json
Sugerencias rápidas:
Antes de enviar, verifica la consola Interactive. Si hay error, el request no correrá.
Si la API no está ejecutándose, verás error de conexión. Inicia el proyecto y reintenta.
Observa el cuerpo del request y los encabezados enviados y recibidos.
¿Qué aporta Visual Studio con Endpoints Explorer para generar requests?
La ventana Endpoints Explorer en Visual Studio acelera la creación de pruebas. Detecta los endpoints de tu API (por ejemplo, weather forecast) y genera un request listo para tu archivo .HTTP.
Acceso: menú View > Other Windows > Endpoints Explorer.
Descubrimiento: lista todos los endpoints disponibles del proyecto.
Generación: clic derecho > generate request para crear el request automáticamente.
Productividad: cada nuevo endpoint obtiene su prueba sin escribirla desde cero.
Consistencia: todas las pruebas quedan centralizadas en el archivo .HTTP del proyecto.
Esto facilita mantener pruebas alineadas con cambios de rutas, puertos o ambientes (desarrollo, testing, QA, producción) modificando solo la URL base.
¿Cómo validar con Postman y un cliente HTML y qué indica el error CORS?
Contar con más de una herramienta de prueba te da visibilidad y control. Postman complementa a Visual Studio con una interfaz clara y soporte de autenticación, encabezados y cuerpos de petición.
¿Cómo operar en Postman para probar endpoints?
Postman permite seleccionar el verbo, enviar la URL y revisar respuestas con detalle.
Verbos: GET, POST, PUT, PATCH, DELETE según la acción.
Respuesta: cuerpo en JSON, encabezados y estado.
Métricas: tiempo de ejecución y tamaño de la respuesta.
Autorización: soporta múltiples métodos según tus necesidades.
Encabezados y cuerpo: agrega headers y el JSON requerido para crear o actualizar recursos.
Organización: usa colecciones para guardar todos los requests del proyecto.
¿Cómo probar con HTML y qué significa el error CORS?
Un pequeño cliente HTML es útil para simular consumo desde un navegador. Asegúrate de actualizar la ruta a tu URL base local.
Si la API está detenida, verás un error de conexión.
Si la API está corriendo y no ves datos, revisa la consola del navegador.
Mensaje típico: "from origin null has been blocked by CORS policy".
CORS es una configuración en la API que permite que otros servicios web la consuman de forma segura.
El ajuste de CORS se abordará más adelante para habilitar el acceso desde orígenes externos.
¿Tienes dudas sobre tu flujo de pruebas con archivo .HTTP, Endpoints Explorer o Postman? Comparte tus preguntas y cuéntanos qué herramientas te funcionan mejor para validar tus endpoints en .NET.
Saludos, al intentar probar mis endpoints con el archivo .http, no me salía el Status: 200 OK y en la ventana de "Salida" (Output) veía un error que decía: You must install or update .NET to run this application... version '9.0.0' (x64).
La solución: Aunque estemos usando .NET 10, la herramienta interna de Visual Studio (dotnet-interactive) que gestiona las peticiones HTTP todavía depende del Runtime de .NET 9.
Solo hay que ir a laweb de .NETy descargar el .NET Desktop Runtime 9.0 (x64).
Reiniciar Visual Studio.
Asegurarse de que el puerto en el archivo .http coincida con el que sale en la consola al correr la app.
Espero que les sirva.
Esto es correcto! toca instalar el runtine de la version 9.0
no estan los recursos
Estan en este repo:
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Cliente WeatherForecast</title>
<style>
body {
font-family: Arial, Helvetica, sans-serif;
margin: 40px;
}
button {
padding: 8px 16px;
cursor: pointer;
}
pre {
background-color: #f0f0f0;
padding: 15px;
border-radius: 4px;
margin-top: 20px;
white-space: pre-wrap;
}
.error {
color: red;
font-weight: bold;
}
</style>
</head>
<body>
<h1>Weather Forecast</h1>
<button onclick="cargarDatos()">Cargar datos</button>
<pre id="resultado">Esperando solicitud...</pre>
<script>
async function cargarDatos() {
// 🔴 AJUSTA EL PUERTO AL QUE REALMENTE TIENES EN TU API
const url = "hhttps://localhost:7046/weatherforecast";
// ejemplo alterno:
// const url = "http://localhost:5000/weatherforecast";
const resultado = document.getElementById("resultado");
resultado.textContent = "Consultando API...";
try {
const respuesta = await fetch(url);
if (!respuesta.ok) {
throw new Error("Error HTTP: " + respuesta.status);
}
const data = await respuesta.json();
// Mostrar JSON bonito
resultado.textContent = JSON.stringify(data, null, 2);
} catch (error) {
resultado.innerHTML =
`<span class="error">❌ Error al consumir la API:</span>\n${error}`;
console.error(error);
}
}
</script>
</body>
</html>
muchas gracias, quise descargar el recurso del repositorio pero aparece que se ha bloqueado el acceso por muchas peticiones de acceso
Saben como ver los recursos del curso?
En este link pueden encontrar el archivo HTML para las pruebas