Cách thiết lập và xác thực dữ liệu phản hồi API

Để kiểm tra xem cấu trúc dữ liệu được trả về bởi một giao diện có tiêu chuẩn hóa hay không, bạn có thể sử dụng mô-đun tài liệu API của Apidog.

Minh Triết

Minh Triết

6 tháng 6 2025

Cách thiết lập và xác thực dữ liệu phản hồi API

Trong quá trình phát triển, việc chuẩn hóa dữ liệu phản hồi của các giao diện là rất quan trọng. Với các thông số kỹ thuật giao diện liên quan, ngay cả khi gặp sự cố trong các vòng lặp sau, các nhà phát triển và kiểm tra có thể nhanh chóng xác định nguyên nhân của vấn đề.

Để kiểm tra xem cấu trúc dữ liệu được trả về bởi một giao diện có được chuẩn hóa hay không, bạn có thể sử dụng mô-đun tài liệu API của Apidog. Đầu tiên, các cấu trúc dữ liệu chung sẽ được giới thiệu, tiếp theo là một ví dụ để trải nghiệm thiết kế của các cấu trúc dữ liệu.

Ví dụ

1. Vấn đề

Giả sử có một kịch bản mà một đối tượng có hai thuộc tính:

type: enum

values: array

Khi giá trị type được cố định, chiều dài của values nên là 1; khi giá trị type là range, chiều dài của values nên là 2; khi giá trị type là khác, không có giới hạn về chiều dài của values.

Trong kịch bản này, làm thế nào chúng ta có thể giới hạn chiều dài của values dựa trên giá trị type trong Apidog? Để có thể trả về phản hồi lỗi nếu mối quan hệ giữa type và values không thể khớp?

Trước tiên, liệt kê tất cả các thông số kỹ thuật cấu trúc dữ liệu có thể dựa trên yêu cầu:

// Type A
{
  "type": "fixed",
  "values": ["1"]
}

// Type B
{
  "type": "range",
  "values": ["1","2"]
}

// Type C
{
  "type": "other",
  "values": ["1","2","89","67"]
}

2. Định nghĩa Mock Dữ liệu

Để giải quyết vấn đề trong ví dụ một cách thuận tiện hơn, chúng tôi sử dụng chức năng advanced Mock của Apidog để cung cấp dữ liệu giao diện. Theo mô tả của vấn đề, chúng tôi cần định nghĩa 5 loại dữ liệu Mock khác nhau, chia thành 3 xác minh thành công và 2 xác minh thất bại, như sau:

Advanced Mock

Khi giá trị typefixed, chiều dài của values nên là 1:

Type Fixed

Khi giá trị typerange, chiều dài của values nên là 2:

Type Range

Khi giá trị type là khác, không có giới hạn về chiều dài của values:

Type Other

Khi giá trị type là fixed, chiều dài của values không phải là 1:

Type Fixed Fail

Khi giá trị type là range, chiều dài của values không phải là 2:

Type Range Fail

Sau khi định nghĩa dữ liệu Mock, bạn có thể gọi giao diện và xác minh xem cấu trúc dữ liệu trong phản hồi trả về có được chuẩn hóa hay không.

3. Định nghĩa một Phản hồi Thành công

Theo các yêu cầu đã đề cập ở trên, có ba tình huống tương ứng cho dữ liệu phản hồi dự kiến và dữ liệu phản hồi trả về, nếu không sẽ trả về một phản hồi lỗi.

3.1 Thông số 1: Phản hồi thành công của tham số cố định

Đặt type thành kiểu chuỗi, thêm giá trị liệt kê của cố định; đặt values thành kiểu mảng, và giới hạn số lượng phần tử đầu ra chỉ là 1, với các phần tử kiểu chuỗi bên trong. Các chi tiết như sau:

Successful Responsei Fxed

3.2 Thông số 2: Phản hồi thành công của tham số range

Đặt type thành kiểu chuỗi, thêm giá trị liệt kê của range; đặt values thành kiểu mảng, và giới hạn số lượng phần tử tối đa và tối thiểu là 2, với các phần tử kiểu chuỗi bên trong. Các chi tiết như sau:

Successful Response Range

3.3 Thông số 3: Phản hồi thành công của tham số khác

Đặt type thành kiểu chuỗi, thêm giá trị liệt kê của khác; đặt values thành kiểu mảng, không giới hạn về số lượng phần tử tối đa và tối thiểu, với các phần tử kiểu chuỗi bên trong. Các chi tiết như sau:

Successful Response Other

Sau khi định nghĩa ví dụ phản hồi thành công, người dùng có thể xác định xem dữ liệu giao diện trả về có tuân thủ thông số kỹ thuật thông qua trạng thái phản hồi khi thực hiện yêu cầu qua giao diện hay không.

4. Xác minh Dữ liệu Phản hồi

Dữ liệu phản hồi và thông số kỹ thuật phản hồi trả về phải tương ứng, nếu không xác minh sẽ thất bại. Trong quá trình gọi giao diện, cần xác minh và kiểm tra kịp thời các kết quả trả về để đảm bảo tính chính xác và đầy đủ của các kết quả trả về. Điều này có thể giảm thiểu hiệu quả xác suất thất bại hoặc lỗi gọi giao diện, đảm bảo tính nhất quán và độ tin cậy của giao diện, và giảm chi phí bảo trì trong giai đoạn sau.

4.1 Xác minh Thông số 1

Chuyển đổi "Xác minh Phản hồi" sang "Thành công Cố định (200)" nghĩa là chỉ một giá trị trong mảng "values" được xuất ra để xác nhận thành công khi type được đặt thành "fixed".

Type Fixed Fail Verification

Nhập giá trị 1 vào trường tham số và nhấp vào nút "Gửi". Khi dữ liệu phản hồi được định nghĩa trước tương ứng với các thông số kỹ thuật mong đợi, nó sẽ thông báo một xác nhận thành công ✅.

Send

Nếu giá trị của type không phải là fixed, cấu trúc dữ liệu trả về đã thất bại trong xác minh ❌:

Failed  Verification

Nếu giá trị của valuesnull hoặc nhiều hơn 1, cấu trúc dữ liệu trả về đã thất bại trong xác minh ❌:

Values Null

4.2 Thành công Range(200)

Chuyển "Xác minh Phản hồi" sang "Thành công Range(200)". Điều này chỉ ra rằng chỉ có hai giá trị được coi là một xác nhận thành công trong mảng values khi giá trị type là range.

Range Success

Nếu giá trị của type không phải là range, cấu trúc dữ liệu trả về đã thất bại trong xác minh ❌:

Data Structure Failed

Nếu giá trị của valuesnull hoặc không phải 2 giá trị, xác minh cấu trúc dữ liệu cũng sẽ thất bại ❌:

Range Structure

4.3 Thành công Khác(200)

Chuyển "Xác minh Phản hồi" sang "Thành công Khác (200)" có nghĩa là với giá trị typeother, bất kỳ số lượng giá trị nào trong mảng "values" sẽ dẫn đến một xác nhận thành công. ✅

Other Success

Nếu giá trị của type không phải là other, cấu trúc dữ liệu trả về sẽ thất bại trong xác minh ❌:

Other Failed

Tóm tắt

Ngoài trường hợp trên, bạn cũng có thể chuẩn hóa các cấu trúc dữ liệu khác trong Apidog để kiểm tra xem dữ liệu giao diện có được chuẩn hóa hay không. Apidog cũng hỗ trợ nhiều tính năng khác, như nhập giao diện, dữ liệu giả, và kiểm thử tự động. Nhấn vào liên kết để đọc bài viết gốc và trải nghiệm nó cho riêng bạn!

Thực hành thiết kế API trong Apidog

Khám phá cách dễ dàng hơn để xây dựng và sử dụng API