¿Necesita probar su API enviando datos JSON desde un archivo? Aquí están los comandos curl.
PUBLICAR archivo JSON en Localhost
curl -X POST http://localhost:8080/api/endpoint \
-H "Content-Type: application/json" \
-d @data.json
Reemplazar:
8080con tu puerto/api/endpointcon tu ruta APIdata.jsoncon la ruta de su archivo JSON
El @ le indica a curl que lea del archivo.
Símbolo
PONER Archivo JSON
curl -X PUT http://localhost:8080/api/endpoint \
-H "Content-Type: application/json" \
-d @data.json
Igual que POST, solo que usando el método PUT.
Versión de una sola línea
curl -X POST http://localhost:8080/api/endpoint -H "Content-Type: application/json" -d @data.json
Todo en una sola línea.
Mostrar encabezados de respuesta
curl -X POST http://localhost:8080/api/endpoint \
-H "Content-Type: application/json" \
-d @data.json \
-i
-i incluye encabezados de respuesta en la salida.
Salida detallada (depuración)
curl -X POST http://localhost:8080/api/endpoint \
-H "Content-Type: application/json" \
-d @data.json \
-v
-v muestra todos los detalles de la solicitud y la respuesta.
Con autenticación
Autenticación básica:
curl -X POST http://localhost:8080/api/endpoint \
-H "Content-Type: application/json" \
-u username:password \
-d @data.json
Ficha al portador:
curl -X POST http://localhost:8080/api/endpoint \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your-token-here" \
-d @data.json
Clave API:
curl -X POST http://localhost:8080/api/endpoint \
-H "Content-Type: application/json" \
-H "X-API-Key: your-api-key" \
-d @data.json
Enviar JSON en línea (sin archivo)
curl -X POST http://localhost:8080/api/endpoint \
-H "Content-Type: application/json" \
-d '{"key":"value","number":123}'
Las comillas simples impiden la interpretación del shell.
Archivo en directorio diferente
curl -X POST http://localhost:8080/api/endpoint \
-H "Content-Type: application/json" \
-d @/path/to/data.json
Utilice ruta absoluta o relativa.
Guardar respuesta en archivo
curl -X POST http://localhost:8080/api/endpoint \
-H "Content-Type: application/json" \
-d @data.json \
-o response.json
Respuesta guardada en response.json.
Puertos de host local comunes
- 3000: Node.js, servidores de desarrollo React
- 8000: Servidor HTTP Python, Django
- 8080: Java común, desarrollo general
- 5000: Matraz predeterminado
- 4200: Servidor de desarrollo angular
- 3001: Node.js alternativo
Solución de problemas
Error "Error al conectar":
- API no funcionando
- Número de puerto incorrecto
- Verificar
http://frente ahttps://
Error "curl: no existe tal archivo":
- El archivo JSON no existe
- Ruta de archivo incorrecta
- Verifique el directorio actual con
pwd
Respuesta inesperada:
- Verifique la sintaxis JSON con
cat data.json - Validar JSON en jsonlint.com
- Uso
-vmarcar para ver la solicitud completa
Ejemplo de archivo JSON
Crear data.json:
{
"name": "Test User",
"email": "test@example.com",
"active": true,
"roles": ["admin", "user"]
}
Luego ejecuta:
curl -X POST http://localhost:8080/users -H "Content-Type: application/json" -d @data.json
Conclusión
Comando POST básico:
curl -X POST http://localhost:8080/api/endpoint -H "Content-Type: application/json" -d @data.json
El @ se lee desde el archivo. Cambie POST a PUT para solicitudes PUT. Añadir
El símbolo -v para depurar. Añadir -i para encabezados de respuesta.
Funciona con cualquier API de localhost durante el desarrollo.