Tạo Restful API đơn giản với Laravel (Part 1)

Tram Ho

Trong bài này, mình sẽ hướng dẫn cách tạo Resful API đơn giản với Laravel PHP.

Công cụ cần thiết:

  • PHP 7.1 or Higher
  • Composer
  • MySql
  • Laravel 5.6 or Higher
  • Postman

Để hiểu được bài này thì các bạn cũng phải có kỹ năng lập trình PHP cơ bản nhé!

Chúng ta sẽ build ra một app CRUD. Vậy CRUD là gì ? Đó là Create, Read, Update, and Delete. App chúng ta sẽ có những điểm cơ bản sau đây:

GET /api/students trả về toàn bộ danh sách học sinh theo GET request.

GET /api/students/{id} trả về cụ thể một học sinh có mã ID theo GET request.

POST /api/students tạo mới một học sinh theo POST request.

PUT /api/students/{id} update một học sinh trong danh sách với mã ID có sẵn với PUT request.

DELETE /api/students/{id} xoá một học sinh ra khỏi danh sách vứoi DELETE request.

Lớp Student (học sinh) này thì chỉ có trường name (tên) và course (môn học) .

Tạo project với Laravel

$create-project –prefer-dist laravel/laravel api-prj “5.8.*”

$php artisan serve

Sau đó trên https://localhost:8000 sẽ hiển thị thế này:

Kế tiếp chúng ra sẽ tạo database cho project:

$ mysql -uroot -p // Đăng nhập vào MySQL

Tạo một database mới:

CREATE DATABASE ‘laravel’;

Lúc nào trong Phpadmin thì Database đã tạo thành công:

Bây giờ chúng ta sẽ tiến hành tạo Modal để tiến hành làm việc với migration. Chạy lệnh sau:

$php artisan make:model Student -m

hoặc

$php artisan make:model Student migration

File mới được tạo ra app/Student.php nhưng để tương để tương tác với database chúng ta update lại như sau:

Hơn nữa thì một migration file được tạo ra ở thư mực database/migrations để tạo bảng dữ liệu. Chúng ra sẽ phải chỉnh sửa lại file này để tạo ra cột name và courses, với kiểu dữ liệu cho phù hợp với cột đó:

Kế tiếp, chúng ra cần chỉnh sửa một chút ở file .env để app có thể tác với máy chủ mysql:

Kế tiếp chúng ra sẽ migrate project với cơ sở dữ liệu:

$php artisan migrate

Kết quả database tạo ra các bảng như hình sau:

Như vậy là phần setup và tạo cơ sở dữ liệu đã xong, phần kế tiếp chúng ta sẽ nghiên cứu về Route cũng như Modal.

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo