Hello World
Hello World
Sección titulada «Hello World»Su primera aplicación Wippy: una API HTTP simple que retorna JSON.
Qué Estamos Construyendo
Sección titulada «Qué Estamos Construyendo»Una API web mínima con un endpoint:
GET /hello → {"message": "hello world"}Estructura del Proyecto
Sección titulada «Estructura del Proyecto»hello-world/├── wippy.lock # Archivo lock generado└── src/ ├── _index.yaml # Definiciones de entradas └── hello.lua # Código del handlerPaso 1: Crear Directorio del Proyecto
Sección titulada «Paso 1: Crear Directorio del Proyecto»mkdir hello-world && cd hello-worldmkdir srcPaso 2: Definiciones de Entradas
Sección titulada «Paso 2: Definiciones de Entradas»Cree src/_index.yaml:
version: "1.0"namespace: app
entries: # Servidor HTTP - name: gateway kind: http.service addr: ":8080" lifecycle: auto_start: true
# Router - name: api kind: http.router meta: server: app:gateway prefix: /
# Función handler - name: hello kind: function.lua source: file://hello.lua method: handler modules: - http
# Endpoint - name: hello.endpoint kind: http.endpoint meta: router: app:api method: GET func: app:hello path: /helloCuatro entradas trabajan juntas:
gateway- Servidor HTTP escuchando en puerto 8080api- Router adjunto a gateway víameta.serverhello- Función Lua que maneja solicitudeshello.endpoint- EnrutaGET /helloa la función
Paso 3: Código del Handler
Sección titulada «Paso 3: Código del Handler»Cree src/hello.lua:
local http = require("http")
local function handler() local res = http.response()
res:set_content_type(http.CONTENT.JSON) res:set_status(http.STATUS.OK) res:write_json({message = "hello world"})end
return { handler = handler}El módulo http proporciona acceso a objetos de request/response. La función retorna una tabla con el método handler exportado.
Paso 4: Inicializar y Ejecutar
Sección titulada «Paso 4: Inicializar y Ejecutar»# Generar archivo lock desde fuentewippy init
# Iniciar el runtime (-c para salida de consola colorida)wippy run -cVerá salida como:
╦ ╦╦╔═╗╔═╗╦ ╦ Adaptive Application Runtime║║║║╠═╝╠═╝╚╦╝ v0.1.20╚╩╝╩╩ ╩ ╩ by Spiral Scout
0.00s INFO run runtime ready0.11s INFO core service app:gateway is running {"details": "service listening on :8080"}Paso 5: Probarlo
Sección titulada «Paso 5: Probarlo»curl http://localhost:8080/helloRespuesta:
{"message":"hello world"}Cómo Funciona
Sección titulada «Cómo Funciona»gatewayacepta la conexión TCP en puerto 8080apirouter matchea el prefijo de ruta/hello.endpointmatcheaGET /hello- La función
hellose ejecuta y escribe respuesta JSON
Referencia CLI
Sección titulada «Referencia CLI»| Comando | Descripción |
|---|---|
wippy init | Generar archivo lock desde src/ |
wippy run | Iniciar runtime desde archivo lock |
wippy run -c | Iniciar con salida de consola colorida |
wippy run -v | Iniciar con logging de debug verboso |
wippy run -s | Iniciar en modo silencioso (sin logs de consola) |
Siguientes Pasos
Sección titulada «Siguientes Pasos»- Echo Service - Manejar parámetros de solicitud
- Task Queue - API REST con procesamiento en background
- HTTP Router - Patrones de routing