import {Meta} from '@storybook/addon-docs/blocks'

<Meta title='@dxtmisha/vi/functional-basic/Classes/ApiDataReturn - Xử lý dữ liệu phản hồi API'/>

# Lớp ApiDataReturn

Lớp dùng để xử lý và chuẩn bị dữ liệu nhận được từ yêu cầu API. Nó chuyển đổi dữ liệu phản hồi thô thành định dạng có cấu trúc, trích xuất metadata và ánh xạ nội dung theo cấu hình đã yêu cầu.

> `ApiDataReturn` là một **lớp phụ trợ**, được thiết kế để xử lý và định dạng dữ liệu phản hồi API. Trong hầu hết các trường hợp, khuyến khích tương tác với kết quả thông qua phản hồi được trả về bởi các phương thức của `ApiInstance` hoặc đối tượng `Api` toàn cục.

## Các tính năng chính

- **Phân tích tự động** — phân tích thông minh các phản hồi JSON hoặc trả về văn bản thô dựa trên tiêu đề Content-Type.
- **Chuẩn hóa dữ liệu** — đảm bảo rằng đối tượng trả về tuân theo một cấu trúc nhất quán, ngay cả khi phản hồi của máy chủ thay đổi.
- **Trích xuất Metadata** — tự động trích xuất các trường chung như `success`, `status`, `code` và `message` từ gốc của phản hồi và hợp nhất chúng vào đối tượng dữ liệu.
- **Cấu hình linh hoạt** — hỗ trợ logic xử lý tùy chỉnh thông qua `queryReturn` và kiểm soát việc giải nén trường `data` bằng `toData`.

## Các phương thức

### Hành động

- `async init(): Promise<this>` — Khởi tạo lớp bằng cách đọc và phân tích dữ liệu từ đối tượng phản hồi.
- `get(): ApiData<T>` — Trả về dữ liệu đã được xử lý và định dạng.
- `getAndStatus(status: ApiStatus): ApiData<T>` — Trả về dữ liệu đã xử lý được chèn thêm `statusObject` từ đối tượng status được cung cấp.
- `getData(): ApiData<T> | undefined` — Trả về dữ liệu thô, chưa định dạng như lúc ban đầu được đọc từ phản hồi.

## Logic nội bộ (Protected)

- `readData<T>(): Promise<ApiData<T>>` — Phương thức cấp thấp đọc thân phản hồi và phân tích nó dưới dạng JSON hoặc văn bản.
- `initData(): ApiData<T>` — Định dạng dữ liệu thô theo cấu hình, xử lý việc giải nén các thuộc tính.
- `initItem(data: Record<string, any>): ApiData<T>` — Hợp nhất các trường metadata từ gốc phản hồi vào đối tượng dữ liệu chính.

