Laravel Restful API

04/01/2022   Laravel

Laravel Restful API

Laravel Restful API

1. Phân Biệt web và Webservice

- Web: truy câp url trả về trang html cho người dùng.

- Web Service: truy cập url kèm điều kiện (vd access token) trả về dữ liệu thô vd Json hoặc XML

2. REST

- Là kiến trúc, một loạt hướng dẫn và dạng cấu trúc dùng cho việc chuyển đổi dữ liệu dựa trên giao thức không trạng thái ( thường là HTTP) để tương tác. REST đã được sử dụng rộng rãi thay thế cho các Web Service dựa trên SOAP và WSDL. RESTful Web Service nhẹ, dễ dàng mở rộng và bảo trì hơn.

- REST dựa vào các verb của HTTP (GET, POST, PUT, DELETE, ...) để truyền và nhận dữ liệu giữa Client và Server

- Restfull là tính từ của Rest.

3. RESTfull Web Service

- Là các Web Service được viết dựa trên kiến trúc REST (Representational State Transfer),

- Đối với một trang web bình thường client của nó chính là Web Browser, tuy nhiên đới với RESTful vì dữ liệu truyền nhận qua lại chủ yếu là JSON nên client của nó không chỉ giới hạn là một Web Browser, nó có thể là một App Mobile, hoặc thậm chí là một Web Service khác.Tuy vậy, cần lưu ý rằng mối quan hệ giữ client và server lúc này là Stateless, có nghĩa là server không cần biết client là ai, server cũng không cần phải lưu session đối với client giống như website bình thường. Server cần biết có một request từ một client nào đó tới và thỏa một số điều kiện của mình (cần access token chẳng hạn), nó sẽ xử lý, trả dữ liệu về cho client và kết thúc.

4. RESTfull API

- API (Application Programming Interface) là giao diện lập trình ứng dụng giúp tạo ra các phương thức kết nối với các thư viện và ứng dụng khác nhau. Vậy RESTful API là API đi theo cấu trúc REST. RESTful API không được xem là một công nghệ, nó là một giải pháp để tạo ra các ứng dụng Web Services thay thế cho các kiểu khác như SOAP, WSDL (Web Service Definition Language),… Ta có một số HTTP method theo chuẩn RESTful API như sau:

- GET : truy xuất tài nguyên (READ)
- POST : tạo tài nguyên mới ( CREATE)
- PUT / PATCH: cập nhật, sửa đổi tài nguyên (UPDATE)
- DELETE : xóa tài nguyên ( DELETE)

5. Xây dựng RESTfull API với Laravel

- routes/api.php, đây là file chứa tất cả các endpoint dùng để xử lý các request từ client và lưu các route theo chuẩn RESTful API.

Bài viết cùng chủ đề