🔌 Invocar y comprobar
Objetivo principal: llamar a un modelo publicado y ver su respuesta, que es la única forma de saber que una versión responde de verdad y no solo que el inventario dice que sirve.
Las dos superficies
Ningún modelo es alcanzable desde fuera. Sus puertos no se publican: toda invocación entra
por /invocaciones del plano de control, que es quien conoce la tabla de direcciones.
Invocar una versión
curl -s -X POST \
-H "Content-Type: application/json" \
-H "X-Captia-Credencial: $CAPTIA_CREDENCIAL" \
-d '{"entrada": {"temperatura_aula": 25.0}}' \
"http://127.0.0.1:8080/invocaciones?version=clima-aula-b12/1"
Respuesta:
{
"consigna": 24.0,
"encender_clima": true
}
Eso es exactamente lo que devolvió la función del alumno. La plataforma no lo envuelve ni le añade nada.
Tres cosas que conviene fijar:
| Elemento | Dónde va | Si falta |
|---|---|---|
| La versión | En la consulta, ?version= | 400, diciendo que falta |
| Los valores | Dentro de un campo entrada | 400: un cuerpo sin entrada se rechaza a propósito |
| La credencial | Cabecera X-Captia-Credencial | 403, con el «qué hacer» |
Un cuerpo sin el campo entrada se rechaza a propósito. Es la frontera del contrato: lo
que el alumno escribe recibe un diccionario, y ese diccionario es lo que va dentro de
entrada. Sin ese envoltorio no habría forma de distinguir los valores del modelo de los
metadatos de la petición.
Consultar sin invocar
curl -s -H "X-Captia-Credencial: $CAPTIA_CREDENCIAL" \
http://127.0.0.1:8080/inventario
curl -s -H "X-Captia-Credencial: $CAPTIA_CREDENCIAL" \
http://127.0.0.1:8080/actividad
Y la única que no pide nada:
curl -s http://127.0.0.1:8080/salud
Qué códigos vas a ver
| Código | Qué pasó |
|---|---|
200 | La invocación llegó al modelo y respondió |
400 | Falta ?version=, o el cuerpo no trae entrada |
403 | La credencial falta o no es la vigente |
404 | Esa versión no tiene ninguna dirección viva: no existe, o está retirada, o quedó en publicándose. El mensaje no distingue cuál de las tres, y remite a /inventario |
413 | El envío pasa del tope, y se rechaza antes de leerlo entero |
422 | La publicación se rechazó: el cuerpo trae la causa |
502 | La dirección del modelo no respondió |
Si la dirección no contesta, la plataforma te devuelve el error pero no escribe asiento: no inventa un diagnóstico sobre algo que no ha podido observar. Es deliberado, y significa que Actividad no es un registro completo de intentos fallidos de invocación.
Comprobar delante de la clase
El recorrido que mejor funciona en una sesión:
- Proyecta la vista de clase. La fila del modelo dirá «todavía no» en la columna de la derecha.
- Invoca el modelo con el
curlde arriba, o desde cualquier cliente HTTP. - Enseña la respuesta.
- A los 30 segundos como mucho, la proyección se actualiza sola y esa fila pasa a «sí».
Es la demostración más corta de que el recorrido entero funciona: de la función de un alumno a un servicio que responde.
Si quieres usar un cliente gráfico
Hay una colección preparada en despliegue/captia.postman_collection.json, importable en
Postman, con la cabecera de credencial ya puesta en cada petición.
No es una lista suelta de llamadas: son once peticiones numeradas que recorren el ciclo entero, y cuatro de ellas están ahí para demostrar una regla, con el resultado esperado en su propio nombre.
| # | Qué hace | Para qué está |
|---|---|---|
| 1 | Salud | Comprobar que responde |
| 2 | Publicar un modelo | El caso normal |
| 3 | Ver el inventario | Confirmar que se inventarió |
| 4 | Invocar el modelo | Confirmar que responde |
| 5 | Publicar otra vez el mismo alumno | Demuestra que se rechaza: ya tiene una versión viva |
| 6 | Otro alumno, el mismo nombre | Demuestra que sí publica: el nombre no es de la clase |
| 7 | Ver el registro de actividad | Ver los asientos que dejaron 2, 4, 5 y 6 |
| 8 | Invocar con el cuerpo mal formado | Demuestra el 400 |
| 9 | Retirar la publicación | La retirada por API |
| 10 | El inventario tras retirar | Ver la autoría borrada |
| 11 | Publicar tras retirar | Demuestra que el identificador es nuevo: el número no vuelve |
Ejecutada en orden, esa colección es la forma más rápida de ver el comportamiento completo sin tocar la pantalla — y las parejas 5/6 y 9/11 son la mejor explicación de las dos reglas que más confunden al empezar.