Mục lục nội dung

RESTful API là gì? Diễn giải các thành phần RESTful hoạt động như thế nào? Authentication và dữ liệu trả về Status code Nên sử dụng Version Xây dựng API với Laravel HTTP Request RESTful Route Resource Controllers Authorization CORS Policy API Document

Có thể nói nguyên lí REST và cấu trúc dữ liệu RESTful được biết đến rộng rãi trong giới lập trình web nói chung và lập trình ứng dụng nói riêng.

Đang xem: Restful api là gì

Có thể nói bản thân REST không phải là một loại công nghệ. Nó là phương thức tạo API với nguyên lý tổ chức nhất định. Những nguyên lý này nhằm hướng dẫn lập trình viên tạo môi trường xử lý API request được toàn diện.

Để hiểu rõ hơn về RESTful API ta sẽ đi lần lượt giải thích các khái niệm API, REST hay RESTful.

RESTful API là gì?

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) để 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.

*
*
*

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.

Xem thêm: Độ Bền Máy Tính Bảng Trung Quốc Loại Nào Tốt Nhất ? Nên Mua Máy Tính Bảng Của Trung Quốc Loại Nào

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.

Hiện tại đa số lập trình viên viết RESTful API giờ đây đều chọn JSON là format chính thức nhưng cũng có nhiều người chọn XML làm format, nói chung dùng thế nào cũng được miễn tiện và nhanh.

Authentication và dữ liệu trả về

RESTful API không sử dụng session và cookie, nó sử dụng một access_token với mỗi request. Dữ liệu trả về thường có cấu trúc như sau:

}

Status code

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ũ.

Xem thêm: thuốc trị mụn ẩn tốt nhất

Xây dựng API với Laravel

Lấy việc xây dựng api trên Laravel để làm ví dụ, trước khi đi vào ta tổng quan về Http Request.

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.

RESTful Route

Viết Api thì sẽ khai báo router vào file routes/api.php thay vì sử dụng file routes/web.php. Các setting mặc cho file api.php trong laravel:

Url: những route được khai báo trong file này mặc định có prefix url là api (ví dụ: toptotnhat.com/api/products) Middleware: mặc định sẽ được gán Middleware Group là api, trong file app/Http/Kernel sẽ thấy 2 middleware thuộc Middleware Group: api là throttle (giới hạn request / time) và bindings (model binding).

Có thể tùy chỉnh giá trị mặc định này trong method mapApiRoutes trong file app/Providers/RouteServiceProvider.php

Tạo các route để thực hiện các thao tác như CRUD (Create, Read, Update, Delete):

// Lấy list sản phẩm Route::get(“products”, “ApiProductController

Trả lời

Email của bạn sẽ không được hiển thị công khai.