Trước khi bắt đầu, chúng ta phải biết API là gì, Như tất cả các bạn có thể biết API là viết tắt của Application Programming Interface. Vậy nó là gì?
Theo Wikipedia, Application Programming Interface (API) là kết nối giữa các máy tính hoặc giữa các chương trình máy tính. Nó là một loại giao diện phần mềm, cung cấp một dịch vụ cho các phần mềm khác.
Nếu bạn nghe hơi khó hiểu thì đây là phiên bản đơn giản của định nghĩa trên – API là phương tiện mà qua đó hai chương trình máy tính có thể “trò chuyện” với nhau. Ở đây, “trò chuyện” đề cập đến việc trao đổi dữ liệu.
Có rất nhiều API trên thế giới. Hôm nay chúng ta sẽ nói về các RESTful API.
Chúng ta sẽ tạo một RESTful API. RESTful API là một trong nhiều cách khả thi mà các chương trình, máy chủ và trang web có thể chia sẻ dữ liệu. RESTful API tổ chức dữ liệu thành một loạt các URL (URI) duy nhất. Dữ liệu có thể là bất kỳ thứ gì (ví dụ: dữ liệu biểu mẫu, dữ liệu thời tiết, chi tiết sản phẩm).
Hãy xem một ví dụ để hiểu rõ hơn:
URL ở trên (endpoint API) lấy dữ liệu của tất cả burgers. Nếu sandwiches cũng có sẵn ở cửa hàng, thì bằng cách thay đổi điểm cuối (endpoint ), chúng ta có thể nhận được kết quả mong muốn.
Bây giờ bạn đã hiểu rõ về RESTful API là gì.
Tiếp theo, chúng ta sẽ xây dựng REST API của mình bằng Python bằng FAST API. FastAPI là một framework Web hiện đại để phát triển các RESTful API bằng Python.
Yêu cầu:
- Python 3.6+
- Trình soạn thảo văn bản (VScode) hoặc PyCharm
- Tiện ích mở rộng JSON Formatter
Tạo RESTful API đơn giản trong 5 phút
1. Cài đặt FAST API và Uvicorn
Tạo một dự án mới.
Như mình đã nói trước đó, chúng ta sẽ sử dụng framework FAST API để xây dựng API. Vì vậy, hãy cài đặt nó trong dự án bằng cách sử dụng lệnh sau:
pip install fastapi
Sau khi nó được cài đặt, chúng ta cần cài đặt Uvicorn – Một triển khai máy chủ web cho python.
pip install uvicorn
2. Tạo và khởi tạo tệp
Tạo một tệp mới api.py trong dự án của bạn. Bao gồm code sau để khởi tạo tệp.
from fastapi import FastAPI # Tạo API app = FastAPI()
3. Tạo các tuyến menu:
Bây giờ chúng ta đã khởi tạo API mà chúng ta cần để tạo các tuyến (route). Chúng ta sẽ tạo ra 3 tuyến như sau
- Default route
- Burgers route
- Sandwiches route
# default route @app.get("/") async def root(): return { "welcome_message": "Hello hungry Zucky, welcome!", "menu": [ { "burgers": "http://localhost:8000/api/v1/menu/burgers" }, { "sandwiches": "http://localhost:8000/api/v1/menu/sandwiches" } ] }; # burgers route @app.get("/api/v1/menu/burgers") async def burgers(): return { "spicy burger": "10$", "cheesy burger": "12$", "Extra cheesy spicy burger": "18$" } # sandwiches route @app.get("/api/v1/menu/sandwiches") async def burgers(): return { "Egg sandwich": "10$", "cheesy sandwich": "11$", "Chicken sandwich": "13$" }
Vậy là bạn đã tạo thành công REST API rồi đó.
4. Đưa lên máy chủ
Để kiểm tra kết quả, hãy nhập lệnh sau.
uvicorn api:app --reload
Lệnh này khởi động máy chủ. Với việc sử dụng cờ –reload, máy chủ sẽ khởi động lại khi quan sát thấy bất kỳ thay đổi mới nào trong tệp của bạn, tức là file api.py
Nhập URL vào trình duyệt của bạn: http://127.0.0.1:8000
Kết luận
Trong bài viết này, chúng ta đã tạo ra một REST API đơn giản bằng Python bằng cách sử dụng framework FAST API. Nó có ba tuyến và mỗi tuyến trả về dữ liệu JSON. Hơn nữa, Chúng ta có thể gửi dữ liệu JSON đến front-end dưới dạng phản hồi HTTP.