RESTful API trong Laravel

RESTful API trong Laravel

1. RESTful API là gì ?

  • REST (Representational State Tranfer): là 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 để tương tác (thường là HTTP)
  • API (Application Programming Interface): phương thức kết nối với các thư viện và ứng dụng khác

2. HTTP method theo chuẩn RESTful API:

  • 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)

3. RESTful API trong Laravel

  • Các route theo chuẩn RESTful API được viết trong file routes/api.php
  • Trong Laravel ta có thể gom các route này bằng 1 câu duy nhất: Route::resource('users', 'Admin\UserController)
  • Laravel cung cấp route resource để xây dựng RESTful API
  • Lệnh artisan tạo REST controller: php artisan make: controller controller_name --resource
  • Lúc này, controller vừa tạo sẽ tự động render ra các phương thức:
METHODÝ NGHĨA
index()Hiển thị danh sách tài nguyên
create()Thêm mới
store()Lưu trữ 1 tài nguyên mới
show($id)Hiển thị 1 tài nguyên theo tham số truyền vào
edit($id)Sửa 1 tài nguyên theo tham số truyền vào
update(Request $quest, $id)Cập nhật 1 tài nguyên theo tham số truyền vào
destroy($id)Xóa 1 tài nguyên theo tham số truyền vào

4. Trạng thái HTTP

  • 201 Created: Tài nguyên mới đã được tạo thành công.
  • 400 Bad Request: Yêu cầu không hợp lệ hoặc thiếu thông tin cần thiết.
  • 401 Unauthorized: Yêu cầu cần xác thực, thông tin xác thực không hợp lệ.
  • 403 Forbidden: Server đã hiểu yêu cầu, nhưng từ chối thực hiện.
  • 404 Not Found: Tài nguyên được yêu cầu không tồn tại.
  • 500 Internal Server Error: Lỗi từ phía máy chủ, không thể hoàn thành yêu cầu.