Khi làm việc với API, điều cần thiết là phải hiểu cách gửi nhiều loại dữ liệu khác nhau cùng với các yêu cầu của bạn. Apidog cung cấp một giao diện thân thiện với người dùng để giúp bạn xây dựng và gửi các yêu cầu API với các loại tham số và dữ liệu body khác nhau.Tham số#
Tham số cho phép bạn gửi thông tin bổ sung đến máy chủ. Apidog hỗ trợ hai loại tham số chính: Query params và Path params.Query Params#
Tham số query được thêm vào cuối URL sau dấu chấm hỏi (?) và được phân tách bằng dấu và (&). Chúng được sử dụng để gửi dữ liệu tùy chọn hoặc dữ liệu bổ sung đến máy chủ.Trong Apidog, bạn có hai cách thuận tiện để thêm tham số query vào các yêu cầu API của mình:1.
Trực tiếp trong URL: Bạn có thể thêm tham số query trực tiếp vào cuối URL trong thanh địa chỉ. Ví dụ:https://api.example.com/users?page=1&limit=10
2.
Sử dụng phần Query Params: Apidog cung cấp một phần Query Params riêng bên dưới trường nhập URL. Tại đây, bạn có thể thêm, chỉnh sửa và xóa tham số query bằng giao diện thân thiện với người dùng. Các tham số bạn thêm trong phần này sẽ tự động được thêm vào URL của yêu cầu.
Dấu bằng trong Query Params#
Trong một số trường hợp đặc biệt, tham số query có thể không xuất hiện dưới dạng cặp khóa-giá trị. Ví dụ, URL yêu cầu có thể là:https://api.example.com/users?available
Trong trường hợp này, available có thể đóng vai trò là một tham số có giá trị rỗng. Khi giá trị rỗng, Apidog sẽ tự động bỏ qua dấu bằng giữa khóa và giá trị.Nếu bạn không muốn bỏ qua dấu bằng này, bạn có thể thay đổi thủ công thành "Add an equal sign".Path Params#
Tham số path là một phần của chính đường dẫn URL và thường được sử dụng để xác định một tài nguyên cụ thể. Chúng được biểu thị bằng các placeholder trong URL, thường được đặt trong dấu ngoặc nhọn {}.https://api.example.com/users/{userId}
Trong Apidog, bạn có thể định nghĩa tham số path trong URL API như minh họa ở trên, và chúng sẽ xuất hiện trong phần tham số path bên dưới. Bạn có thể điền giá trị cho tham số path trong phần tham số path, và khi yêu cầu được gửi, {param} sẽ được thay thế bằng giá trị thực tế. Tính năng này đặc biệt hữu ích khi kiểm thử các RESTful API sử dụng mã định danh tài nguyên trong URL.Nếu bạn cần sử dụng biến trong tham số path, cách được khuyến nghị là trước tiên sử dụng {param} trong URL, sau đó sử dụng {{variable}} trong giá trị của param.
Body#
Body của yêu cầu được sử dụng để gửi dữ liệu đến máy chủ như một phần của yêu cầu POST, PUT hoặc PATCH. Apidog hỗ trợ nhiều định dạng dữ liệu body khác nhau để đáp ứng các yêu cầu API khác nhau.So sánh các loại Body#
Bảng sau cung cấp so sánh nhanh về các loại body hiện có:| Loại Body | Content-Type | Trường hợp sử dụng | Hỗ trợ tải tệp lên |
|---|
| form-data | multipart/form-data | Gửi biểu mẫu kèm tệp | ✓ Có |
| x-www-form-urlencoded | application/x-www-form-urlencoded | Gửi biểu mẫu đơn giản | ✗ Không |
| JSON | application/json | Trao đổi dữ liệu có cấu trúc | ✗ Không |
| XML | application/xml | Hệ thống cũ, SOAP APIs | ✗ Không |
| raw | Custom (text/plain, etc.) | Định dạng dữ liệu tùy chỉnh | ✗ Không |
| binary | application/octet-stream | Tải tệp lên, dữ liệu nhị phân | ✓ Có |
| GraphQL | application/json | Truy vấn/mutation GraphQL | ✗ Không |
| msgpack | application/msgpack | Truyền dữ liệu hiệu năng cao | ✗ Không |
Form-data là một cách để gửi các cặp khóa-giá trị, tương tự như gửi một biểu mẫu HTML. Định dạng này đặc biệt hữu ích khi bạn cần tải tệp lên cùng với dữ liệu khác.Body loại form-data sẽ được hiển thị là multipart/form-data trong yêu cầu. Đối với từng tham số trong body, bạn có thể chọn loại của nó, chẳng hạn như string, integer, v.v.Gửi JSON trong form-data: Nếu bạn cần gửi một JSON trong form-data, bạn cần đặt loại tham số thành string, sau đó điền JSON vào trường string.Gửi tệp: Nếu bạn cần gửi một tệp trong yêu cầu, hãy chọn loại là file, sau đó nhấp vào "Upload" để chọn một tệp cục bộ.Apidog chỉ gửi tệp trong yêu cầu nhưng không lưu tệp trên đám mây. Do đó, trong quá trình cộng tác nhóm, những người khác có thể thấy yêu cầu này nhưng không thể trực tiếp gửi tệp này. Bạn cần chuyển tệp này cho đồng nghiệp của mình bằng các phương thức khác để họ có th ể gửi nó.
Định dạng này tương tự như tham số query nhưng được gửi trong body của yêu cầu. Nó thường được sử dụng để gửi các biểu mẫu đơn giản không có tải tệp lên. Trong Apidog, bạn có thể dễ dàng thêm và chỉnh sửa dữ liệu x-www-form-urlencoded bằng giao diện khóa-giá trị.JSON#
JSON là một định dạng dữ liệu được sử dụng rộng rãi cho các yêu cầu và phản hồi API. Bạn có thể thiết kế schema dữ liệu trong phần Request → Body → JSON của một endpoint.Khi thiết kế schema dữ liệu JSON, bạn có thể sử dụng tính năng Generate from JSON trong Apidog để nhanh chóng tạo schema thay vì thêm từng trường theo cách thủ công.Khi thêm trường thủ công, loại dữ liệu mặc định là string. Nếu bạn cần thêm các trường lồng nhau, hãy thay đổi loại trường thành object hoặc array.Nếu bạn muốn thêm chú thích trong JSON, bạn có thể bật "JSON with comments support" trong Settings → General settings → Feature settings → Advanced settings. Khi gửi JSON, các chú thích này sẽ tự động bị loại bỏ.
XML#
XML (eXtensible Markup Language) là một định dạng dữ liệu phổ biến khác được sử dụng trong giao tiếp API. Apidog hỗ trợ payload XML, cho phép bạn gửi dữ liệu có cấu trúc ở định dạng XML cùng với các yêu cầu API của mình.raw#
Tùy chọn raw cho phép bạn gửi bất kỳ định dạng dữ liệu tùy chỉnh nào trong body của yêu cầu. Điều này hữu ích khi làm việc với các API yêu cầu cấu trúc hoặc định dạng dữ liệu cụ thể không được bao gồm trong các tùy chọn khác.binary#
Dữ liệu nhị phân có thể được gửi bằng tùy chọn này, điều này đặc biệt hữu ích khi tải tệp lên hoặc làm việc với các API yêu cầu payload nhị phân. Apidog cho phép bạn chọn và gửi tệp nhị phân như một phần của các yêu cầu API.GraphQL#
Đối với các API sử dụng GraphQL, Apidog cung cấp một trình chỉnh sửa GraphQL chuyên dụng. Tính năng này cho phép bạn xây dựng và gửi các truy vấn cũng như mutation GraphQL, kèm theo tô sáng cú pháp và tự động hoàn thành.Hãy xem tài liệu GraphQL trong Apidog để biết thêm thông tin về cách làm việc với GraphQL APIs.
msgpack#
MessagePack (msgpack) là một định dạng tuần tự hóa nhị phân nhỏ gọn hơn và nhanh hơn JSON. Apidog hỗ trợ gửi dữ liệu msgpack, điều này có lợi khi làm việc với các API được tối ưu hóa cho hiệu năng và giảm lượng dữ liệu truyền tải.