Menu
CoddyTech

API là gì

Thuộc phần API JSON trong hành trình Django của Coddy. Bài học 1 trên 19.

Các view bạn đã viết đến giờ trả về những trang để mọi người đọc. API (giao diện lập trình ứng dụng) trả về dữ liệu cho các chương trình. Một ứng dụng điện thoại, một tập lệnh hoặc JavaScript trên trang sẽ yêu cầu một URL và nhận lại dữ liệu thay vì HTML.

Dữ liệu đó thường ở dạng JSON, văn bản trông giống từ điển và danh sách trong Python, dùng dấu ngoặc kép và true, false và null thay cho True, False và None trong Python:

{"title": "Buy milk", "done": false, "due": null}

Django chuyển một từ điển thành phản hồi JSON bằng JsonResponse:

from django.http import JsonResponse


def hello(request):
    return JsonResponse({"message": "Hi", "ready": True})

Django ghi JSON và đặt tiêu đề Content-Type thành application/json. Tiêu đề (header) là một dòng thông tin được gửi kèm phản hồi; tiêu đề này cho chương trình biết loại dữ liệu mà nó nhận được.

challenge icon

Thử thách

Dễ

Thêm endpoint đầu tiên cho trình theo dõi công việc, một URL phản hồi bằng các con số thay vì một trang.

  1. Trong tasks/views.py, nhập JsonResponse từ django.http và thêm view stats phản hồi bằng JSON: total, số lượng công việc, và done, số lượng công việc đã hoàn thành.
  2. Trong tasks/urls.py, thêm tuyến đường "api/stats/" có tên stats.

Nhấn Chạy: bản xem trước mở /api/stats/ và hiển thị {"total": 3, "done": 1}.

Tự làm thử

from django.shortcuts import render

from .models import Task


def home(request):
    return render(request, "tasks/home.html", {"tasks": Task.objects.all()})

Tất cả bài học trong API JSON

Tự luyện tập: Playground Django