teacher asking a question to the class
Photo by Max Fischer on Pexels.com

[Báo cáo lớp học] Nhập môn Phát triển Hệ thống, Tuần 22 — Giới thiệu về Tích hợp API bên ngoài: Học về HTTP và JSON

Tuần này, như đã thông báo lần trước, chúng ta đã học về “các nguyên tắc cơ bản khi tích hợp với API bên ngoài (các dịch vụ bên ngoài)”.
Học sinh tìm hiểu cách các dịch vụ “giao tiếp” với nhau thông qua cơ chế như HTTP, endpoint và JSON, đồng thời thực hành xây dựng một ví dụ đơn giản.


■ Giới thiệu của giáo viên: “API là thỏa thuận giữa các dịch vụ (giao thức)”

Thầy Tanaka: “API là ‘sách luật cho việc đọc và ghi.’ Nếu bạn tuân theo đúng thỏa thuận (cách gửi request), bạn có thể nhận dữ liệu hoặc mượn chức năng từ một dịch vụ khác.”

Trên bảng, thầy vẽ sơ đồ luồng gửi yêu cầu URL từ trình duyệt → máy chủ trả về JSON, giúp học sinh hình dung “các dịch vụ đang trò chuyện với nhau.”


■ Điểm chính hôm nay: HTTP cơ bản, JSON, API Key, Mã trạng thái

Chúng ta ôn lại các thuật ngữ cơ bản:

  • HTTP (GET/POST): Cách hỏi server “Hãy đưa tôi thông tin (GET)” hoặc “Gửi thông tin đi (POST).”
  • Endpoint: Địa chỉ URL (cửa sổ) để truy cập API.
  • JSON: Định dạng dữ liệu phổ biến theo dạng “key và value.”
  • Mã trạng thái (Status Code): Con số thể hiện kết quả phản hồi — 200 (thành công), 404 (không tìm thấy), 401 (lỗi xác thực), v.v.
  • API Key / Xác thực: Một số dịch vụ yêu cầu có key (API key) mới sử dụng được. Hãy giữ an toàn.

Học sinh A: “À, mã trạng thái để biết loại lỗi rồi!”
Học sinh B: “API key phải được giữ như mật khẩu.”


■ Thực hành: Gọi API đơn giản bằng Python (Ví dụ)

Trong phần thực hành, học sinh gửi một yêu cầu GET tới dịch vụ bên ngoài, học cách phân tích JSON trả về và hiển thị dữ liệu.
Ví dụ đơn giản trong lớp (mã giả phục vụ học tập):

import requests
import json

url = "https://api.example.com/weather"
params = {"q": "Tokyo", "appid": "YOUR_API_KEY"}

response = requests.get(url, params=params)

if response.status_code == 200:
    data = response.json()
    temp = data["main"]["temp"]
    description = data["weather"][0]["description"]
    print(f"Nhiệt độ hiện tại: {temp}℃, Thời tiết: {description}")
else:
    print(f"Đã xảy ra lỗi: {response.status_code}")

By greeden

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)