Restfull la gi

RESTful API là một tiêu chuẩn dùng trong việc thiết kế API cho các ứng dụng web [thiết kế Web services] để thuận tiện cho việc quản lý các resource. Nó chú trọng vào tài nguyên hệ thống [tệp văn bản, ảnh, âm thanh, video, hoặc dữ liệu động …], bao gồm các trạng thái tài nguyên được định dạng và được truyền tải qua HTTP.

Mục lục

    - Các thành phần RESTful API

    API [Application Programming Interface] là một tập các quy tắc và cơ chế mà theo đó, một ứng dụng hay một thành phần sẽ tương tác với một ứng dụng hay thành phần khác. API có thể trả về dữ liệu mà bạn cần cho ứng dụng của mình ở những kiểu dữ liệu phổ biến như JSON hay XML.

    REST [REpresentational State Transfer] là một dạng chuyển đổi cấu trúc dữ liệu, một kiểu kiến trúc để viết API. Nó sử dụng phương thức HTTP đơn giản để tạo cho giao tiếp giữa các máy. Vì vậy, thay vì sử dụng một URL cho việc xử lý một số thông tin người dùng, REST gửi một yêu cầu HTTP như GET, POST, DELETE, vv đến một URL để xử lý dữ liệu.

    RESTful API là một tiêu chuẩn dùng trong việc thiết kế các API cho các ứng dụng web để quản lý các resource. RESTful là một trong những kiểu thiết kế API được sử dụng phổ biến ngày nay để cho các ứng dụng [web, mobile…] khác nhau giao tiếp với nhau.

    Chức năng quan trọng nhất của REST là quy định cách sử dụng các HTTP method [như GET, POST, PUT, DELETE…] và cách định dạng các URL cho ứng dụng web để quản các resource. RESTful không quy định logic code ứng dụng và không giới hạn bởi ngôn ngữ lập trình ứng dụng, bất kỳ ngôn ngữ hoặc framework nào cũng có thể sử dụng để thiết kế một RESTful API.

    - Hoạt động của Restful

    REST hoạt động chủ yếu dựa vào giao thức HTTP. Các hoạt động cơ bản nêu trên sẽ sử dụng những phương thức HTTP riêng.

    GET [SELECT]: Trả về một Resource hoặc một danh sách Resource.
    POST [CREATE]: Tạo mới một Resource.
    PUT [UPDATE]: Cập nhật thông tin cho Resource.
    DELETE [DELETE]: Xoá một Resource.

    Những phương thức hay hoạt động này thường được gọi là CRUD tương ứng với Create, Read, Update, Delete – Tạo, Đọc, Sửa, Xóa.

    - Mã trạng thái trả về

    Khi chúng ta request một API nào đó thường thì sẽ có vài status code để nhận biết sau:

    200 OK – Trả về thành công cho những phương thức GET, PUT, PATCH hoặc DELETE.
    201 Created – Trả về khi một Resouce vừa được tạo thành công.
    204 No Content – Trả về khi Resource xoá thành công.
    304 Not Modified – Client có thể sử dụng dữ liệu cache.
    400 Bad Request – Request không hợp lệ
    401 Unauthorized – Request cần có auth.
    403 Forbidden – bị từ chối không cho phép.
    404 Not Found – Không tìm thấy resource từ URI
    405 Method Not Allowed – Phương thức không cho phép với user hiện tại.
    410 Gone – Resource không còn tồn tại, Version cũ đã không còn hỗ trợ.
    415 Unsupported Media Type – Không hỗ trợ kiểu Resource này.
    422 Unprocessable Entity – Dữ liệu không được xác thực
    429 Too Many Requests – Request bị từ chối do bị giới hạn

    - Nên sử dụng Version

    Luôn sử dụng version để khi bạn cần nâng cấp API mà vẫn hỗ trợ các API cũ.

    - HTTP Request

    HTTP request có tất cả 9 loại method , 2 loại được sử dụng phổ biến nhất là GET và POST

    GET: được sử dụng để lấy thông tin từ server theo URI đã cung cấp.
    HEAD: giống với GET nhưng response trả về không có body, chỉ có header.
    POST: gửi thông tin tới sever thông qua các biểu mẫu http.
    PUT: ghi đè tất cả thông tin của đối tượng với những gì được gửi lên.
    PATCH: ghi đè các thông tin được thay đổi của đối tượng.
    DELETE: xóa tài nguyên trên server.
    CONNECT: thiết lập một kết nối tới server theo URI.
    OPTIONS: mô tả các tùy chọn giao tiếp cho resource.
    TRACE: thực hiện một bài test loop – back theo đường dẫn đến resource.

    - Authorization

    Hiện tại có 3 cơ chế Authorize chính:

    • HTTP Basic
    • JSON Web Token [JWT]
    • OAuth2

    Tùy thuộc vào service của bạn, mà hãy chọn loại Authorize có mức độ phù hợp, cố gắng giữ nó càng đơn giản càng tốt.

    - CORS Policy

    Viết API thì cũng cần chú ý về CORS là gì?

    - API Document

    Ai cũng biết việc viết API docs là cần thiết, tuy nhiên để có một API docs hoàn chỉnh cũng tiêu tốn khá nhiều thời gian. Nhất là trong lúc dự án gấp rút thì mọi người thường chỉ để API docs ở mức siêu cơ bản. Tham khảo thêm cách viết API Document.

    API document là một phần tương tự như Unit Test vậy – lấy ngắn để nuôi dài.

    Nếu không được chăm sóc kỹ, thì đến lúc maintain hoặc thay đổi spec thì hậu quả sẽ rất thảm khốc, dưới đây là một số lưu ý lúc viết docs:

    • Mô tả đầy đủ về params request: gồm những params nào, datatype, require hay optional.
    • Nên đưa ra các ví dụ về HTTP requests và responses với data chuẩn.
    • Cập nhật Docs thường xuyên, để sát nhất với API có bất cứ thay đổi gì.
    • Format, cú pháp cần phải nhất quán, mô tả rõ ràng, chính xác.

    - Thiết kế RESTful API đơn giản

    Updating...

    Nguồn tổng hợp


    Bài Viết Liên Quan

    Chủ Đề