Xây dựng một RestFul API đơn giản với python và Flask

845

Introduction

Việc xây dựng 1 API trong python là khá dễ dàng. Trong bài viết này, chúng ta sẽ cùng tạo ra một REST API đơn giản bằng python với sự hỗ trợ của Flask Framework.

Có thể bạn quan tâm:

  Thiết kế RESTful APIs
  Web service REST sẽ tuân thủ theo bốn nguyên tắc thiết kế cơ bản

REST API là gì?

Thiết kế REST hay RESTful API (State Representational State Transfer) được thiết kế để tận dụng các giao thức hiện có. Mặc dù REST có thể được sử dụng trên hầu hết các giao thức, nhưng thường sử dụng HTTP khi được sử dụng cho các API Web. Điều này có nghĩa là các nhà phát triển không cần cài đặt thư viện hoặc phần mềm bổ sung để tận dụng thiết kế REST API. Thiết kế API REST được định nghĩa bởi Tiến sĩ Roy Fielding trong luận án tiến sĩ năm 2000 của ông. Điều đáng chú ý là lớp linh hoạt không thể tin được của nó. Vì dữ liệu không gắn với các phương pháp và tài nguyên, REST có khả năng xử lý nhiều loại cuộc gọi, trả lại các định dạng dữ liệu khác nhau và thậm chí thay đổi cấu trúc với việc thực hiện đúng của hypermedia.
Sự tự do và sự linh hoạt của nó trong thiết kế API REST cho phép bạn xây dựng một API đáp ứng nhu cầu của bạn đồng thời đáp ứng được nhu cầu của rất nhiều khách hàng khác nhau. Không giống như SOAP, REST không bị giới hạn bởi XML, mà có thể trả về XML, JSON, YAML hoặc bất kỳ định dạng nào tùy thuộc vào yêu cầu của khách hàng. Và không giống như RPC, người dùng không bắt buộc phải biết tên thủ tục hoặc các thông số cụ thể theo thứ tự cụ thể.
 Giờ để tạo một REST API đơn giản sử dụng python, chúng ta cần những thứ sau:

  • Python
  • Flask
  • Flask-SQLAlchemy
  • Flask-Restful
  • SQlite3
  • Jsonify

Nói thêm một chút, Flask là một micro framework viết bằng Python và dựa trên bộ công cụ Werkzeug và công cụ mẫu Jinja2. Còn Flask RESTful là một phần mở rộng cho Flask mà thêm hỗ trợ cho việc nhanh chóng xây dựng các API REST.

Bắt đầu thôi nào!

Bạn có thể tải tập dữ liệu Employees và Tracks Details Employees and Tracks Details và giải nén trong thư mục dự án có tên “python_rest”. Tên cơ sở liệu là “chinook.db”. Sau khi tải về, hãy tạo một tệp có tên là server.py trong thư mục python_rest. Tập tin này sẽ chứa các API Definitions và Flask Code.

Bây giờ, chúng ta tạo ra một môi trường ảo cơ bản cho Python2.7 và cài đặt các gói sau khi nó được kích hoạt.

REST có 4 options:

  • GET
  • PUT
  • POST
  • DELETE

Trong bài viết này chúng ta sẽ làm việc với GET Trước khi code, chúng ta cần kiểm tra kết nối với cơ sở dữ liệu.

Bây giờ mọi thứ đã được thiết lập, chúng ta bắt đầu thao tác với cơ sở dữ liệu để lấy ra thông tin employees và tracks

Sẽ có 3 routes được tạo ra và đây là kết quả:
http://127.0.0.1:5000/employees sẽ hiển thị tất cả id của employees trong cơ sở dữ liệu http://127.0.0.1:5000/tracks hiển thị các tracks detail http://127.0.0.1:5000/employees/2 hiển thị ra employees detail với id = 2 

Tổng kết

Vậy là xong, chúng ta đã tạo ra được 1 REST API đơn giản sử dụng python với Flask. Cũng không quá phức tạp phải không! Cảm ơn các bạn đã dành thời gian đọc bài viết của mình. Bạn cũng có thể tìm hiểu Flask và Flask RESTful ở đây
http://flask.pocoo.org/
https://flask-restful.readthedocs.io/en/latest/

Tài liệu tham khảo

https://www.codementor.io/sagaragarwal94/building-a-basic-restful-api-in-python-58k02xsiq

CHIA SẺ