Perlu menguji API Anda dengan mengirimkan data JSON dari file? Berikut adalah perintah curl.
POST File JSON ke Localhost
curl -X POST http://localhost:8080/api/endpoint \
-H "Content-Type: application/json" \
-d @data.json
Ganti:
8080dengan port Anda/api/endpointdengan jalur API Andadata.jsondengan jalur file JSON Anda
Itu @ memberitahu curl untuk membaca dari file.
Simbol
MASUKKAN Berkas JSON
curl -X PUT http://localhost:8080/api/endpoint \
-H "Content-Type: application/json" \
-d @data.json
Sama seperti POST, hanya menggunakan metode PUT.
Versi Satu Baris
curl -X POST http://localhost:8080/api/endpoint -H "Content-Type: application/json" -d @data.json
Semuanya dalam satu baris.
Tampilkan Header Respons
curl -X POST http://localhost:8080/api/endpoint \
-H "Content-Type: application/json" \
-d @data.json \
-i
-i menyertakan header respons dalam output.
Keluaran Verbosa (Debug)
curl -X POST http://localhost:8080/api/endpoint \
-H "Content-Type: application/json" \
-d @data.json \
-v
-v menunjukkan detail permintaan dan respons lengkap.
Dengan Otentikasi
Otentikasi Dasar:
curl -X POST http://localhost:8080/api/endpoint \
-H "Content-Type: application/json" \
-u username:password \
-d @data.json
Token Pembawa:
curl -X POST http://localhost:8080/api/endpoint \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your-token-here" \
-d @data.json
Kunci API:
curl -X POST http://localhost:8080/api/endpoint \
-H "Content-Type: application/json" \
-H "X-API-Key: your-api-key" \
-d @data.json
Kirim JSON Sebaris (Tanpa File)
curl -X POST http://localhost:8080/api/endpoint \
-H "Content-Type: application/json" \
-d '{"key":"value","number":123}'
Kutipan tunggal mencegah interpretasi shell.
File di Direktori Berbeda
curl -X POST http://localhost:8080/api/endpoint \
-H "Content-Type: application/json" \
-d @/path/to/data.json
Gunakan jalur absolut atau relatif.
Simpan Respons ke File
curl -X POST http://localhost:8080/api/endpoint \
-H "Content-Type: application/json" \
-d @data.json \
-o response.json
Respons disimpan ke response.json.
Port Localhost Umum
- 3000: Node.js, Bereaksi server pengembang
- 8000: Server HTTP Python, Django
- 8080: Java umum, pengembang umum
- 5000: Labu bawaan
- 4200: Server pengembang sudut
- 3001: Alternatif Node.js
Pemecahan Masalah
Kesalahan "Gagal terhubung":
- API tidak berjalan
- Nomor port salah
- Periksa
http://vshttps://
Kesalahan "curl: tidak ada file seperti itu":
- File JSON tidak ada
- Jalur file salah
- Periksa direktori saat ini dengan
pwd
Tanggapan tak terduga:
- Periksa sintaks JSON dengan
cat data.json - Validasi JSON di jsonlint.com
- Gunakan
-vtandai untuk melihat permintaan lengkap
Contoh File JSON
Buat data.json:
{
"name": "Test User",
"email": "test@example.com",
"active": true,
"roles": ["admin", "user"]
}
Lalu jalankan:
curl -X POST http://localhost:8080/users -H "Content-Type: application/json" -d @data.json
Intinya
Perintah dasar POST:
curl -X POST http://localhost:8080/api/endpoint -H "Content-Type: application/json" -d @data.json
Itu @ dibaca dari file. Ubah POST menjadi PUT untuk permintaan PUT. Tambahkan
Simbol -v untuk debugging. Tambahkan -i untuk header respons.
Bekerja dengan API localhost mana pun selama pengembangan.