Gửi JSON
Bài học 35 trên 47 trong khóa học Mạng máy tính với terminal của Coddy.
Ngày nay, hầu hết API cần JSON chứ không phải dữ liệu mã hóa theo biểu mẫu. Bạn cần thay đổi hai thứ, và quên thay đổi thứ hai là lỗi phổ biến nhất trong toàn bộ phần này.
curl -s -H 'Content-Type: application/json' \
-d '{"name":"ada"}' http://127.0.0.1:9125/usersĐầu tiên, phần thân chuyển thành JSON. Thứ hai, bạn phải khai báo điều đó bằng tiêu đề Content-Type, vì nếu không, curl vẫn gắn nhãn phần thân là dữ liệu biểu mẫu. Sau đó, máy chủ cố phân tích JSON thành các cặp key=value rồi từ chối, thường kèm lỗi 400.
Vì vậy, khi API báo JSON của bạn không hợp lệ dù trông có vẻ hoàn toàn hợp lệ, hãy kiểm tra header trước khi kiểm tra JSON.
Chú ý cả cách đặt dấu nháy. JSON có rất nhiều dấu nháy kép, vì vậy hãy đặt toàn bộ nội dung trong dấu nháy đơn để shell giữ nguyên nội dung đó.
Thử thách
Chuyên giaGửi JSON thật và chứng minh rằng nó được gắn nhãn chính xác.
- Khởi động trình nghe ghi nhận trên cổng 9125
- POST phần thân
{"name":"ada"}đến/users, khai báo dữ liệu là JSON - In dòng Content-Type từ
req.txt
Đầu ra dự kiến:
Content-Type: application/jsonTự làm thử
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Mạng máy tính với terminal
Tự luyện tập: Playground Terminal