Giao diện
Cài đặt và sử dụng — API Doc
Tổng quan
Plugin tự động sinh tài liệu API theo chuẩn Swagger/OpenAPI 3.0 từ các resources, actions và collections đã đăng ký trong hệ thống. Developer truy cập Swagger UI tương tác để duyệt, thử nghiệm API và tải xuống spec.
Yêu cầu hệ thống
- Server Digiforce đang chạy
- Quyền Admin để truy cập trang Settings
Bước 1: Kích hoạt plugin
Vào Settings → Plugin Manager, tìm plugin-api-doc và bật. Khởi động lại server.
Bước 2: Truy cập tài liệu API
Sau khi bật plugin, có hai cách truy cập:
| Cách truy cập | URL | Ghi chú |
|---|---|---|
| Swagger UI (giao diện đồ hoạ) | https://your-domain/api-documentation | Duyệt endpoint, thử gọi API |
| Qua Settings | Settings → API Documentation | Entry point chính trong admin |
Giao diện Swagger UI
Swagger UI hiển thị toàn bộ API được tổ chức theo namespace:
| Namespace | Mô tả | Ví dụ endpoint |
|---|---|---|
core | API lõi: xác thực, metadata ứng dụng | /api/auth:signIn, /api/app:getLang |
plugins | API do plugin đăng ký resource riêng | /api/roles:list, /api/workflows:trigger |
collections | API CRUD tự sinh cho mỗi collection | /api/posts:list, /api/posts:create |
Bước 3: Sử dụng Swagger UI
Duyệt API endpoints
- Chọn namespace từ dropdown phía trên
- Mở rộng endpoint muốn xem
- Xem chi tiết parameters, request body, response schema
Thử gọi API (Try it out)
- Nhấn nút Try it out trên endpoint bất kỳ
- Điền parameters và request body
- Nhấn Execute để gửi request thực
- Xem response trực tiếp trong giao diện
Xác thực cho API cần đăng nhập
- Nhấn nút Authorize (biểu tượng khoá) phía trên
- Nhập Bearer token:
Bearer <your-token> - Sau đó có thể thử tất cả API cần xác thực
Tải xuống OpenAPI spec
bash
# Lấy danh sách namespaces
curl https://your-domain/api/swagger:getUrls
# Lấy OpenAPI spec cho namespace cụ thể
curl https://your-domain/api/swagger:get?ns=collectionsCấu hình
| Tham số | Mặc định | Mô tả |
|---|---|---|
| Enable Swagger UI | true | Bật/tắt giao diện Swagger UI |
| Base Path | /api | Đường dẫn gốc của API |
| Title | Digiforce API | Tiêu đề hiển thị trên Swagger UI |
| Version | 1.0.0 | Phiên bản API hiển thị |
Luồng sinh tài liệu
TIP
Spec được sinh lazy — chỉ tạo khi client yêu cầu. Không ảnh hưởng hiệu năng server khi không dùng.
Tích hợp với CI/CD
Tải OpenAPI spec tự động để sinh client SDK hoặc kiểm tra contract:
bash
# Tải spec cho collections
curl -o openapi-collections.json \
"https://your-domain/api/swagger:get?ns=collections"
# Sinh TypeScript client từ spec
npx openapi-typescript openapi-collections.json -o ./types/api.tsBảo mật và khuyến nghị
Cảnh báo bảo mật
- Không nên bật Swagger UI trên môi trường production công khai
- Nếu cần bật, giới hạn truy cập bằng IP restriction hoặc VPN
- API doc hiển thị cấu trúc endpoint và schema — không hiển thị dữ liệu thực
- Chỉ admin mới truy cập được trang API Documentation trong Settings
Lưu ý
- API doc tự động cập nhật khi thêm collections hoặc resources mới — không cần thao tác thủ công
- Hỗ trợ cả built-in resources (từ core) và custom resources (từ plugin bên thứ ba)
- Plugin sử dụng
swagger-ui-distđể render giao diện Swagger - Phân quyền qua ACL snippet
pm.api-doc.documentation— chỉ Admin