Apidog

Nền tảng phát triển API hợp tác tất cả trong một

Thiết kế API

Tài liệu API

Gỡ lỗi API

Giả lập API

Kiểm thử API tự động

Cách gửi dữ liệu JSON bằng HTTPie? (Mới nhất 2024)

Minh Triết

Minh Triết

Updated on tháng 11 29, 2024

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.

button

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: nameage. 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&param2=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&param2=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: nameage. 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:

  1. 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ọ.
  2. 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.
  3. 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ủ.
  4. 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:

  1. Đị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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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ế.

button

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.

button

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.