¿Necesita probar su API enviando datos JSON desde un archivo? Aquí están los comandos curl.

PUBLICAR archivo JSON en Localhost

Comando
curl -X POST http://localhost:8080/api/endpoint \
  -H "Content-Type: application/json" \
  -d @data.json

Reemplazar:

  • 8080 con tu puerto
  • /api/endpoint con tu ruta API
  • data.json con la ruta de su archivo JSON

El @ le indica a curl que lea del archivo. Símbolo

PONER Archivo JSON

Comando
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

Comando
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

Comando
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)

Comando
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:

Comando
curl -X POST http://localhost:8080/api/endpoint \
  -H "Content-Type: application/json" \
  -u username:password \
  -d @data.json

Ficha al portador:

Comando
curl -X POST http://localhost:8080/api/endpoint \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer your-token-here" \
  -d @data.json

Clave API:

Comando
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)

Comando
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

Comando
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

Comando
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 a https://

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 -v marcar para ver la solicitud completa

Ejemplo de archivo JSON

Crear data.json:

Comando
{
  "name": "Test User",
  "email": "test@example.com",
  "active": true,
  "roles": ["admin", "user"]
}

Luego ejecuta:

Comando
curl -X POST http://localhost:8080/users -H "Content-Type: application/json" -d @data.json

Conclusión

Comando POST básico:

Comando
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.