Xây dựng API đơn giản với Flask

Lời mở đầu

Team mình đợt này đang triển khai chương trình mỗi tuần một bài học, nghĩa là mỗi tuần một người trong team sẽ lên seminar cho mọi người về 1 kỹ thuật hoặc công nghệ gì đấy. Anh em vừa trải qua mấy tuần mới đi hết Kotlin. Tuần vừa rồi anh teamlead seminar về Flask. Oh, sao mình thấy thằng này build API nhanh gọn, đơn giản thế, đúng tinh thần của Python. Lâu nay mình chỉ code Front-end với Mobile, chưa đụng Back-end bao giờ (Thực ra là hồi Sinh viên làm PHP nhưng quên hết rồi 😂😂). Thế là mình cũng về thử bắt tay làm ngay một chú xem thế nào.

Setup

Basic

Về IDE, tối ưu nhất có lẽ là PyCharm. Nhưng cài nó cũng khá nặng nên mình tận dụng máy đang có sẵn Visual Studio Code, chỉ cần cài thêm extension Python là đủ để chiến.

Trước tiên là cài Python rồi.

  • Nếu bạn dùng Windows thì link tải ở đây: Download Python.

  • Còn mình dùng Ubuntu nên chỉ cần gõ:

$ sudo apt-get update
$ sudo apt-get install python3.9

Option

Bạn có thể setup Virtual environments hoặc không, bạn có thể bỏ qua bước này. Virtual environments có tác dụng quản lý các dependencies của project. Ví dụ bạn có thể cài 1 lib với 2 version khác nhau cho 2 project khác nhau, thậm chí là Python version khác nhau. Mỗi project sẽ có 1 bộ Python libraries riêng biệt, không thằng nào ảnh hưởng đến thằng nào.

Python3 sử dụng module venv để tạo Virtual environments. Bạn có thể thực hiện lệnh sau để tạo folder cho project và venv folder luôn:

$ mkdir myproject
$ cd myproject
$ python3 -m venv venv

Trên Windows:

$ py -3 -m venv venv

Run environment của bạn:

$ . venv/bin/activate

Flask

Sau đó là cài Flask:

$ pip install Flask

Code thôi

Bắt tay vào để code 1 ứng dụng Flask đơn giản nhất nào. Tạo 1 file hello.py (tên gì cũng được, miễn là tránh flask.py để tránh conflict) và code những dòng đầu tiên:

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, World!'

Giải thích một chút:

  • Flask(__name__) có tác dụng tạo 1 instance của class Flask.
  • route() thì sẽ chỉ cho chúng ta URL của API.

Run app luôn và ngay:

$ export FLASK_APP=hello.py
$ flask run

Check http://127.0.0.1:5000/ để xem app của bạn đã chạy rồi này.

Nhưng giờ mỗi lần bạn sửa code, refresh browser vẫn chưa thấy code được apply. Thế là thế nào nhỉ??? Đó là vì bạn cần bật Debug mode lên nữa.

$ export FLASK_ENV=development
$ flask run

Bây giờ thì thử sửa code và xem thành quả của bạn nào.

Lời kết

Trên đây mới là hướng dẫn Quickstart. Nếu các bạn có hứng thú, mình sẽ viết tiếp các bài tiếp theo.

Cảm ơn các bạn đã đọc!

Tham khảo: https://flask.palletsprojects.com/en/1.1.x/quickstart/#quickstart


All Rights Reserved