Descripción General
El endpoint OPTIONS proporciona información sobre los métodos HTTP permitidos en el controlador WaitersController. Este endpoint es útil para que los clientes descubran qué operaciones están disponibles sin necesidad de realizar llamadas reales a la API.
🎯 Propósito del Endpoint OPTIONS
- Descubrimiento de API: Permite a los clientes conocer los métodos disponibles
- Preflight CORS: Soporte para solicitudes CORS preflight
- Documentación dinámica: Información en tiempo real sobre capacidades
- Integración de clientes: Facilita la generación automática de clientes
- Validación de permisos: Verificación de métodos permitidos
Endpoint Detallado
OPTIONS
/Master/Waiters
Proporciona información sobre los métodos HTTP permitidos para el controlador WaitersController. Este endpoint devuelve una lista de todos los verbos HTTP que están disponibles para este controlador.
Sin parámetros requeridos
Este endpoint no requiere parámetros de entrada, ya que solo proporciona información sobre la configuración del controlador.
200 OK
Información de métodos HTTP devuelta exitosamente
// Respuesta vacía con headers informativos
// Headers de respuesta:
Allow: GET, POST, PUT, DELETE, OPTIONS
📋 Métodos HTTP Permitidos
- GET: Consulta y recuperación de datos de camareros
- POST: Creación de nuevos camareros
- PUT: Actualización de camareros existentes
- DELETE: Eliminación de camareros
- OPTIONS: Información sobre métodos permitidos (este endpoint)
Casos de Uso:
- Descubrimiento automático de capacidades de la API
- Validación de métodos antes de realizar llamadas
- Soporte para solicitudes CORS preflight
- Generación automática de clientes de API
- Documentación dinámica de endpoints
- Verificación de permisos de acceso
📊 Ejemplos de Uso
🔧 Ejemplo con cURL
curl -X OPTIONS \
http://localhost:5000/Master/Waiters \
-H "Accept: application/json"
🔧 Ejemplo con JavaScript
fetch('/Master/Waiters', {
method: 'OPTIONS',
headers: {
'Accept': 'application/json'
}
})
.then(response => {
const allowedMethods = response.headers.get('Allow');
console.log('Métodos permitidos:', allowedMethods);
})
.catch(error => console.error('Error:', error));
🔧 Ejemplo con C#
using var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Options,
"http://localhost:5000/Master/Waiters");
request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var response = await client.SendAsync(request);
var allowedMethods = response.Headers.GetValues("Allow").FirstOrDefault();
Console.WriteLine($"Métodos permitidos: {allowedMethods}");