Bạn có đang tìm kiếm một cách đơn giản và hiệu quả để gửi dữ liệu JSON đến một API không? Đừng tìm đâu xa, hãy thử HTTPie! Công cụ dòng lệnh mạnh mẽ này được thiết kế để giúp việc tương tác với các dịch vụ web trở nên thân thiện với con người nhất có thể. Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách sử dụng HTTPie để gửi dữ liệu JSON và sẽ giới thiệu Apidog, một công cụ dễ sử dụng hơn để gửi yêu cầu HTTP một cách trực quan và dễ dàng hơn.
HTTPie là gì
HTTPie là một khách hàng HTTP dòng lệnh cho phép bạn tương tác với máy chủ HTTP và API từ dòng lệnh. Nó được thiết kế để thân thiện với người dùng và trực quan, với các tính năng như đầu ra được định dạng và tô màu, hỗ trợ JSON tích hợp sẵn, và cú pháp trực quan. Nó là một tiện ích mã nguồn mở nhẹ và mạnh mẽ được các nhà phát triển sử dụng để kiểm tra, gỡ lỗi và khám phá các điểm cuối API khác nhau. HTTPie có sẵn cho cả môi trường terminal và web/desktop. HTTPie được thiết kế để thử nghiệm, gỡ lỗi và tương tác chung với các API và máy chủ HTTP.
Một số tính năng chính của HTTPie bao gồm:
- Cú pháp diễn đạt và trực quan
- Đầu ra terminal được định dạng và tô màu
- Hỗ trợ JSON tích hợp sẵn
- Upload tệp và biểu mẫu
- HTTPS, proxy, và xác thực
- Dữ liệu yêu cầu tùy ý
- Tiêu đề tùy chỉnh
- Phiên làm việc bền vững
- Tải xuống giống như Wget
- Hỗ trợ Linux, macOS, Windows và FreeBSD
- Plugin
Cách cài đặt HTTPie
Trước khi chúng ta đi sâu vào chi tiết gửi dữ liệu JSON với HTTPie, hãy dành một chút thời gian để bắt đầu với công cụ này. Trong phần này, chúng tôi sẽ chỉ cho bạn cách cài đặt HTTPie trên hệ thống của bạn và cung cấp cái nhìn tổng quan về cú pháp cơ bản.

HTTPie có thể được cài đặt trên nhiều nền tảng khác nhau, bao gồm macOS, Windows và Linux. Dưới đây là một số hướng dẫn cài đặt cho các nền tảng khác nhau:
Cách cài đặt HTTPie trên macOS
Bạn có thể cài đặt HTTPie bằng cách sử dụng Homebrew bằng cách chạy các lệnh sau trong terminal của bạn:
brew update
brew install httpie
Hoặc bạn có thể cài đặt nó bằng pip:
pip install httpie
Cài đặt HTTPie trên Windows
Bạn có thể tải xuống trình cài đặt từ trang web chính thức. Khi đã tải xuống, hãy chạy tệp thực thi và làm theo hướng dẫn để cài đặt HTTPie.
Cài đặt HTTPie trên Linux
Quá trình cài đặt khác nhau tùy thuộc vào bản phân phối bạn đang sử dụng. Ví dụ, trên Debian và Ubuntu, bạn có thể cài đặt HTTPie bằng cách sử dụng lệnh sau:
sudo apt-get install httpie
Trên Fedora, CentOS và RHEL, bạn có thể sử dụng lệnh sau:
sudo dnf install httpie
Để biết thêm thông tin về HTTPie và các tính năng của nó, xin vui lòng tham khảo tài liệu chính thức:

Bạn cần biết gì trước khi bắt đầu?
JSON (JavaScript Object Notation) là một định dạng trao đổi dữ liệu nhẹ mà dễ cho con người đọc và viết và dễ cho máy móc phân tích và tạo ra. Nó là một định dạng dựa trên văn bản thường được sử dụng để truyền dữ liệu giữa máy chủ và ứng dụng web. Dữ liệu JSON được viết dưới dạng cặp tên/giá trị, tương tự như các thuộc tính đối tượng JavaScript. Một cặp tên/giá trị bao gồm một tên trường (trong dấu ngoặc kép), sau đó là một dấu hai chấm, theo sau là một giá trị. Các đối tượng JSON được viết trong dấu ngoặc nhọn, và các mảng được viết trong dấu ngoặc vuông.
Yêu cầu HTTP POST
Phương thức POST là một phương thức yêu cầu HTTP được sử dụng để gửi dữ liệu để được xử lý đến một tài nguyên được chỉ định. Nó thường được sử dụng để tạo mới hoặc cập nhật một tài nguyên trên máy chủ. Dữ liệu được gửi đến máy chủ với POST được lưu trữ trong thân yêu cầu của yêu cầu HTTP.

Gửi yêu cầu POST với dữ liệu JSON
Giờ đây, khi chúng ta đã cài đặt httpie
, hãy xem cách gửi yêu cầu POST
với dữ liệu JSON
. Chúng ta sẽ sử dụng lệnh http
để gửi yêu cầu. Đây là một ví dụ:
$ http POST http://example.com/api/v1/users name=John email=john@example.com
Trong ví dụ này, chúng ta đang gửi một yêu cầu POST
đến http://example.com/api/v1/users
với dữ liệu JSON
bao gồm một tên và một địa chỉ email. Lệnh http
được theo sau bởi phương thức HTTP (POST
), URL (http://example.com/api/v1/users
), và dữ liệu (name=John email=john@example.com
).
Gửi dữ liệu JSON với HTTPie
Giờ đây, khi bạn đã quen thuộc với HTTPie, đã đến lúc bắt đầu gửi dữ liệu JSON! Trong phần này, chúng tôi sẽ chỉ cho bạn cách sử dụng HTTPie để gửi dữ liệu JSON đến một API. Chúng tôi sẽ cung cấp ví dụ về cách sử dụng HTTPie để gửi dữ liệu JSON với các loại trường khác nhau, bao gồm các trường JSON không phải chuỗi và dữ liệu JSON lồng nhau.
Dưới đây là một ví dụ về việc sử dụng HTTPie để gửi tải JSON trong một yêu cầu POST:
http POST http://example.com/api/data name=John age:=30
Trong ví dụ này, chúng tôi đang gửi một yêu cầu POST đến http://example.com/api/data
với một tải JSON bao gồm hai trường: name
và age
. Trường name
là một chuỗi, trong khi trường age
là một số. Toán tử :=
được sử dụng để chỉ ra rằng giá trị của age
nên được coi là một số và không phải là một chuỗi.
HTTPie tự động thiết lập tiêu đề Content-Type
thành application/json
khi gửi dữ liệu JSON, vì vậy bạn không cần phải chỉ định nó một cách rõ ràng. Nếu bạn muốn gửi một tải JSON từ một tệp, bạn có thể sử dụng cú pháp @
:
http POST http://example.com/api/data < data.json
Trong ví dụ này, chúng tôi đang gửi nội dung của tệp data.json
dưới dạng tải JSON trong yêu cầu POST.
Sử dụng HTTPie để gửi dữ liệu JSON với các tham số truy vấn
httpie
cũng có thể được sử dụng với các tham số truy vấn.
http POST http://example.com/api/v1/data?param1=value1¶m2=value2 < data.json
Ở đây, http
là lệnh để gửi yêu cầu HTTP, POST
là phương thức HTTP, http://example.com/api/v1/data
là URL của điểm cuối API, và param1=value1¶m2=value2
là các tham số truy vấn. Phần < data.json
chỉ định rằng dữ liệu JSON nên được đọc từ tệp data.json
.
Bạn có thể thay thế POST
bằng các phương thức HTTP khác như GET
, PUT
, PATCH
, hoặc DELETE
tùy thuộc vào yêu cầu của điểm cuối API.
Sử dụng HTTPie với các phương thức HTTP khác
httpie
cũng có thể được sử dụng với các phương thức HTTP khác. Dưới đây là một số ví dụ:
HTTPie hỗ trợ tất cả các phương thức HTTP tiêu chuẩn như GET, POST, PUT, DELETE, v.v. Bạn có thể sử dụng lệnh sau để gửi yêu cầu với một phương thức HTTP cụ thể:
http PHƯƠNG THỨC URL [TÙY CHỌN] [MỤC YÊU CẦU]
Thay thế PHƯƠNG THỨC
bằng phương thức HTTP mong muốn, và URL
bằng URL của điểm cuối API mà bạn muốn tương tác. Ví dụ, để gửi yêu cầu PUT đến http://example.com/api/data
, bạn có thể sử dụng lệnh sau:
http PUT http://example.com/api/data name=John age:=30
Trong ví dụ này, chúng tôi đang gửi một yêu cầu PUT đến http://example.com/api/data
với một tải JSON bao gồm hai trường: name
và age
. Trường name
là một chuỗi, trong khi trường age
là một số. Toán tử :=
được sử dụng để chỉ ra rằng giá trị của age
nên được coi là một số và không phải một chuỗi.

Một số trường hợp sử dụng phổ biến của HTTPie là gì?
HTTPie là một khách hàng HTTP dòng lệnh đa năng có thể được sử dụng cho nhiều mục đích khác nhau. Dưới đây là một số trường hợp sử dụng phổ biến của HTTPie:
- Kiểm tra và phát triển API: HTTPie đơn giản hóa quy trình kiểm tra và phát triển các API RESTful bằng cách cho phép các nhà phát triển nhanh chóng kiểm tra các điểm cuối API, kiểm tra phản hồi, và lặp lại trên việc triển khai API của họ.
- Gỡ lỗi mạng: HTTPie là một công cụ quý giá để khắc phục các vấn đề liên quan đến mạng.
- Ghi kịch bản tùy chỉnh: HTTPie có thể được sử dụng để tạo ra các kịch bản tùy chỉnh cho tự động hóa các tác vụ lặp đi lặp lại, chẳng hạn như gửi yêu cầu HTTP đến một máy chủ.
- Khám phá dữ liệu: HTTPie có thể được sử dụng để khám phá dữ liệu từ các API và dịch vụ web bằng cách gửi yêu cầu HTTP và nhận phản hồi dưới dạng định dạng dễ đọc cho con người.
Đây chỉ là một vài ví dụ về cách HTTPie có thể được sử dụng. Cú pháp đơn giản và trực quan của nó, cùng với hỗ trợ JSON tích hợp và đầu ra được tô màu, làm cho nó trở thành sự lựa chọn phổ biến giữa các nhà phát triển cho việc kiểm tra, gỡ lỗi và khám phá các điểm cuối API khác nhau.
Cách sử dụng nâng cao HTTPie
HTTPie là một công cụ mạnh mẽ có thể được sử dụng cho nhiều việc hơn là chỉ gửi dữ liệu JSON. Nó có thể được sử dụng cho nhiều mục đích khác nhau. Dưới đây là một số tính năng nâng cao của HTTPie:
- Định dạng đầu ra tùy chỉnh: HTTPie cho phép bạn tùy chỉnh định dạng đầu ra của phản hồi. Bạn có thể sử dụng tùy chọn
--format
để chỉ định định dạng đầu ra. Các định dạng được hỗ trợ bao gồm JSON, XML, HTML và nhiều hơn nữa 1. - Mẫu yêu cầu: HTTPie cho phép bạn tạo các mẫu yêu cầu mà bạn có thể sử dụng lại và chia sẻ. Bạn có thể sử dụng tùy chọn
--template
để chỉ định tệp mẫu. Tệp mẫu có thể chứa các vị trí thay thế sẽ được thay thế bằng các giá trị thực tế khi yêu cầu được gửi. - Chế độ tương tác: HTTPie có chế độ tương tác cho phép bạn khám phá một API bằng cách thực hiện các yêu cầu và xem phản hồi trong thời gian thực. Bạn có thể nhập lệnh và xem kết quả ngay lập tức. Điều này hữu ích cho việc kiểm tra và gỡ lỗi các API.
- Các phiên làm việc bền vững: HTTPie cho phép bạn tạo các phiên làm việc bền vững có thể được sử dụng lại qua nhiều yêu cầu. Điều này hữu ích cho việc duy trì trạng thái qua các yêu cầu, chẳng hạn như mã xác thực hoặc cookie 1.
- Tiêu đề tùy chỉnh: HTTPie cho phép bạn chỉ định các tiêu đề tùy chỉnh cho các yêu cầu của mình. Bạn có thể sử dụng tùy chọn
-h
hoặc--headers
để chỉ định các tiêu đề. Bạn cũng có thể sử dụng tùy chọn--auth
để chỉ định thông tin xác thực 1. - HTTPS, proxy và xác thực: HTTPie hỗ trợ HTTPS, proxy và xác thực ngay từ đầu. Bạn có thể sử dụng tùy chọn
--auth
để chỉ định thông tin xác thực. Bạn có thể sử dụng tùy chọn--proxy
để chỉ định một máy chủ proxy. Bạn có thể sử dụng tùy chọn--verify
để chỉ định một gói CA tùy chỉnh để xác nhận SSL 1. - Dữ liệu yêu cầu tùy ý: HTTPie cho phép bạn gửi dữ liệu tùy ý trong các yêu cầu của mình, chẳng hạn như JSON, dữ liệu biểu mẫu, hoặc dữ liệu nhị phân. Bạn có thể sử dụng tùy chọn
-d
hoặc--data
để chỉ định dữ liệu. Bạn cũng có thể sử dụng cú pháp@
để gửi dữ liệu từ một tệp.
Gửi dữ liệu JSON dễ dàng hơn với Apidog
Apidog là một công cụ thiết kế và gỡ lỗi API mạnh mẽ cho phép các nhà phát triển mô tả và gỡ lỗi các API trong một trình chỉnh sửa trực quan với hỗ trợ JSON Schema. Nó là một bộ công cụ hoàn chỉnh kết nối toàn bộ vòng đời API, giúp các đội ngũ R&D thực hiện các phương pháp tốt nhất cho phát triển API theo định hướng thiết kế.
Apidog hỗ trợ tất cả các phương thức HTTP như GET, POST và PUT, và cho phép bạn kiểm tra các API chỉ với một cú nhấp chuột với giao diện người dùng trực quan.
Bước 1. Mở Apidog và nhấp vào “New API” để tạo một API mới để kiểm tra.

Bước 2. Chọn phương thức HTTP để sử dụng cho API và nhập URL điểm cuối.

Bước 3. Nhập thông tin cần thiết như các tham số theo thông số kỹ thuật API và nhấp vào nút “Gửi” để gửi yêu cầu API và nhận phản hồi.

Bằng cách làm theo các bước này, bạn có thể dễ dàng gửi dữ liệu JSON của mình với Apidog.
Kết luận
HTTPie là một công cụ mạnh mẽ để gửi dữ liệu JSON đến các API. Trong hướng dẫn này, chúng tôi đã chỉ cho bạn cách sử dụng HTTPie để gửi dữ liệu JSON và giới thiệu Apidog, một công cụ cung cấp các tính năng kiểm tra chất lượng cao có thể xử lý các dự án API ở nhiều giai đoạn khác nhau, mà là một tính năng chính khác biệt với httpie, một công cụ dòng lệnh đơn giản. Tôi khuyên bạn nên sử dụng Apidog khi phát triển/kiểm tra các API.