← Volver a MesasCabeceraController

ℹ️ Información del Sistema

Endpoint para obtener información sobre métodos HTTP permitidos

Descripción General

El endpoint de Información del Sistema proporciona información sobre los métodos HTTP permitidos en el controlador MesasCabeceraController. Este endpoint es útil para clientes que necesitan descubrir dinámicamente las capacidades de la API.

🎯 Características del Endpoint OPTIONS

  • Descubrimiento de API: Permite a los clientes conocer los métodos disponibles
  • Headers de respuesta: Incluye el header "Allow" con métodos permitidos
  • Sin parámetros: No requiere parámetros de entrada
  • Respuesta simple: Devuelve un OK con información en headers
  • Compatible con CORS: Útil para aplicaciones web
  • Documentación automática: Ayuda en la generación de documentación
  • Validación de cliente: Permite verificar capacidades antes de hacer requests
  • Estándar HTTP: Sigue las especificaciones HTTP para OPTIONS

Endpoint Disponible

OPTIONS /WorkingData/MesasCabecera

Obtiene información sobre métodos HTTP permitidos en el controlador MesasCabeceraController. Este endpoint devuelve la lista de métodos HTTP que están disponibles para este controlador.
Parámetros:

Este endpoint no requiere parámetros de entrada.

200 OK
Información de métodos HTTP devuelta exitosamente
Headers de respuesta: Allow: GET, POST, PUT, DELETE, OPTIONS Body de respuesta: {}

📋 Métodos HTTP Permitidos

  • GET: Consultar cabeceras de mesas
  • POST: Crear nuevas cabeceras de mesas
  • PUT: Actualizar cabeceras existentes
  • DELETE: Eliminar cabeceras de mesas
  • OPTIONS: Obtener información de métodos permitidos

Casos de Uso

🎯 Escenarios de Aplicación

  • Descubrimiento de API: Clientes que necesitan conocer las capacidades disponibles
  • Validación de cliente: Verificar que el cliente puede usar los métodos necesarios
  • Documentación automática: Herramientas que generan documentación automáticamente
  • Testing de API: Frameworks de testing que verifican métodos disponibles
  • Integración de sistemas: Sistemas que se integran dinámicamente
  • Debugging: Verificar configuración de endpoints
  • Monitoreo: Verificar que todos los métodos estén disponibles
  • Desarrollo frontend: Aplicaciones web que necesitan conocer métodos disponibles
  • Validación de CORS: Verificar permisos de métodos en aplicaciones web
  • Auditoría de seguridad: Verificar qué métodos están expuestos

Implementación Técnica

🔧 Detalles de Implementación

  • Método asíncrono: Implementado como async Task<IActionResult>
  • Header Allow: Se agrega dinámicamente a la respuesta
  • Respuesta vacía: El body de la respuesta está vacío
  • Código 200: Siempre devuelve 200 OK si el endpoint está disponible
  • Sin validaciones: No requiere validaciones de entrada
  • Sin logging: No genera logs específicos
  • Sin excepciones: No maneja excepciones específicas
  • Swagger support: Documentado con Swagger/OpenAPI

⚠️ Consideraciones de Seguridad

  • Información pública: Este endpoint expone información sobre métodos disponibles
  • No expone datos sensibles: Solo información sobre métodos HTTP
  • Útil para reconnaissance: Puede ser usado para mapear la API
  • Control de acceso: Considerar si debe estar protegido
  • Rate limiting: Aplicar límites de frecuencia si es necesario
  • Logging de acceso: Registrar quién consulta esta información

Ejemplos de Uso

📝 Ejemplos Prácticos

cURL
curl -X OPTIONS http://localhost:5000/WorkingData/MesasCabecera \ -H "Accept: */*"
JavaScript (Fetch API)
fetch('/WorkingData/MesasCabecera', { method: 'OPTIONS', headers: { 'Accept': '*/*' } }) .then(response => { const allowedMethods = response.headers.get('Allow'); console.log('Métodos permitidos:', allowedMethods); });
C# (HttpClient)
using var client = new HttpClient(); var request = new HttpRequestMessage(HttpMethod.Options, "http://localhost:5000/WorkingData/MesasCabecera"); var response = await client.SendAsync(request); var allowedMethods = response.Headers.GetValues("Allow").FirstOrDefault(); Console.WriteLine($"Métodos permitidos: {allowedMethods}");

Integración con Swagger

📚 Documentación Swagger

  • Summary: "Handles the OPTIONS request."
  • Description: "Returns the allowed HTTP methods for this controller."
  • Response 200: "Allowed HTTP methods returned."
  • Sin parámetros: No requiere parámetros de entrada
  • Sin body: No requiere cuerpo de solicitud
  • Sin respuestas de error: Solo devuelve 200 OK