The Vi
Trang chủThuật toánVề tôiAPI
🇻🇳 Tiếng Việt🇬🇧 English

© 2026 Bản quyền thuộc về Nguyễn Dương Thế Vĩ

Tài liệu API

Hướng dẫn sử dụng các API công khai để lấy danh sách và chi tiết bài viết của trang này.

Tổng quan

Tất cả endpoint đều trả về JSON với cấu trúc thống nhất gồm ba trường: success, message và data. Khi gặp lỗi, success là false và data là null.

Base URL
https://www.nguyenduongthevi.click/api
{
    "success": true,
    "message": "...",
    "data": { ... }
}

Danh sách endpoint

  • GET/api/posts— Lấy danh sách bài viết
  • GET/api/posts/{slug}— Xem chi tiết một bài viết
GET/api/posts

Lấy danh sách bài viết

Trả về danh sách bài viết được phân trang. Hỗ trợ chọn số trang và số bài mỗi trang.

Tham số

TênVị tríKiểuBắt buộcMặc địnhMô tả
pagequerynumberKhông1Số trang cần lấy, bắt đầu từ 1.
limitquerynumberKhông10Số bài viết trên mỗi trang. Giá trị hợp lệ: 1 đến 100.

Ví dụ request

curl https://www.nguyenduongthevi.click/api/posts?page=1&limit=10

Ví dụ response

{
    "success": true,
    "message": "Posts fetched",
    "data": {
        "items": [
            {
                "slug": "7-a3-injection-cross-site-scripting",
                "title": "A3 — Injection: Cross-Site Scripting",
                "date": "2024-05-12",
                "description": "Tổng quan về tấn công XSS và cách phòng tránh...",
                "tags": [
                    "security",
                    "owasp",
                    "xss"
                ],
                "thumbnail": "/posts/xss.jpg",
                "readTime": "6",
                "author": "Nguyễn Dương Thế Vĩ"
            }
        ],
        "totalItems": 23,
        "page": 1,
        "perPage": 10,
        "totalPages": 3
    }
}
Thử ngay
GET/api/posts/{slug}

Xem chi tiết một bài viết

Trả về frontmatter và nội dung HTML đã render của bài viết theo slug.

Tham số

TênVị tríKiểuBắt buộcMặc địnhMô tả
slugpathstringCó—Slug duy nhất của bài viết, gồm chữ thường, số và dấu gạch nối.

Ví dụ request

curl https://www.nguyenduongthevi.click/api/posts/7-a3-injection-cross-site-scripting

Ví dụ response

{
    "success": true,
    "message": "Post fetched",
    "data": {
        "slug": "7-a3-injection-cross-site-scripting",
        "title": "A3 — Injection: Cross-Site Scripting",
        "date": "2024-05-12",
        "description": "Tổng quan về tấn công XSS và cách phòng tránh...",
        "tags": [
            "security",
            "owasp",
            "xss"
        ],
        "thumbnail": "/posts/xss.jpg",
        "readTime": "6",
        "author": "Nguyễn Dương Thế Vĩ",
        "contentHtml": "<h2>Giới thiệu</h2><p>...</p>"
    }
}
Thử ngay