Dalam tutorial contoh Codeigniter 4 rest API ini, Anda akan belajar cara membuat rest API di framework PHP codeigniter 4.
Jika Anda ingin bertukar data antara aplikasi dan server. Jadi pada saat itu, Anda perlu mengistirahatkan API untuk pertukaran data antara server dan aplikasi.
Jadi tutorial contoh Codeigniter rest API ini akan membantu Anda membuat rest API di framework Codeigniter 4. Dan cara membuat, membaca, memperbarui, dan menghapus data dari tabel database menggunakan API ini.
Sebelum membuat rest API dan menggunakannya di codeigniter. Anda dapat melihat arsitektur RESTful API:
Codeigniter 4 Rest Api Contoh Dari Awal
Ikuti langkah-langkah yang diberikan di bawah ini dan buat API lainnya di framework CodeIgniter 4:
Daftar Isi
Langkah 1: Buat Database dan Tabel
Pertama-tama, mulai server lokal Anda dan mulai phpmyadin.
Kemudian gunakan perintah berikut untuk membuat database:
CREATE DATABASE demo;
Setelah itu, pilih database Anda dan jalankan kueri sql berikut untuk membuat tabel Product ke dalam database Anda:
CREATE TABLE product(
product_id INT(11) PRIMARY KEY AUTO_INCREMENT,
product_name VARCHAR(200),
product_price DOUBLE
)ENGINE=INNODB;
Selanjutnya, jalankan kueri berikut untuk memasukkan beberapa data ke dalam tabel product:
INSERT INTO product(product_name,product_price) VALUES
('Product 1','2000'),
('Product 2','5000'),
('Product 3','4000'),
('Product 4','6000'),
('Product 5','7000');
Langkah 2: Unduh Proyect Codeigniter
Pada langkah ini, kita akan mendownload Codeigniter 4 versi terbaru, Buka link ini https://codeigniter.com/download Download Codeigniter 4 setup baru dan unzip setup di sistem lokal Anda xampp/htdocs/ . Dan ubah nama folder unduhan "demo"
Langkah 3: Konfigurasi Dasar
Selanjutnya, kita akan mengatur beberapa konfigurasi dasar pada file app/config/app.php , jadi mari kita pergi ke application/config/config.php dan membuka file ini pada editor teks.
Setel URL Dasar seperti ini
public $baseURL = 'http://localhost:8080';
To
public $baseURL = 'http://localhost/demo/';
Langkah 4: Siapkan Kredensial Basis Data
Pada langkah ini, kita perlu menghubungkan proyek kita ke database. kita perlu membuka app/Config/Database.php dan membuka file database.php di editor teks. Setelah membuka file dalam editor teks, Kita perlu mengatur kredensial basis data dalam file ini seperti di bawah ini.
public $default = [
'DSN' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'demo',
'DBDriver' => 'MySQLi',
'DBPrefix' => '',
'pConnect' => false,
'DBDebug' => (ENVIRONMENT !== 'production'),
'cacheOn' => false,
'cacheDir' => '',
'charset' => 'utf8',
'DBCollat' => 'utf8_general_ci',
'swapPre' => '',
'encrypt' => false,
'compress' => false,
'strictOn' => false,
'failover' => [],
'port' => 3306,
];
Langkah 5: Buat Model
Jadi buka app/Models/ dan buat di sini satu model. Dan Anda perlu membuat satu nama model ProductModel.php dan memperbarui kode berikut ke dalam file ProductModel.php Anda :
Langkah 6: Buat Controller
Sekarang, Navigasikan app/Controllers dan buat nama controller Products.php. Kemudian perbarui metode berikut ke dalam file controller Products.php:
<?php namespace App\Controllers;
use CodeIgniter\RESTful\ResourceController;
use CodeIgniter\API\ResponseTrait;
use App\Models\ProductModel;
class Products extends ResourceController
{
use ResponseTrait;
// get all product
public function index()
{
$model = new ProductModel();
$data = $model->findAll();
return $this->respond($data);
}
// get single product
public function show($id = null)
{
$model = new ProductModel();
$data = $model->getWhere(['product_id' => $id])->getResult();
if($data){
]
}
// update product
public function update($id = null)
{
$model = new ProductModel();
$input = $this->request->getRawInput();
$data = [
'product_name' => $input['product_name'],
'product_price' => $input['product_price']
];
$model->update($id, $data);
$response = [
'status' => 200,
'error' => null,
'messages' => [
'success' => 'Data Updated'
]
];
return $this->respond($response);
}
// delete product
public function delete($id = null)
{
$model = new ProductModel();
$data = $model->find($id);
if($data){
$model->delete($id);
$response = [
'status' => 200,
'error' => null,
'messages' => [
'success' => 'Data Deleted'
]
];
return $this->respondDeleted($response);
}else{
return $this->failNotFound('No Data Found with id '.$id);
}
}
}
Dalam metode pengontrol di atas berfungsi sebagai berikut:
- Index() – Ini digunakan untuk mengambil semua produk.
- create() – Metode ini digunakan untuk memasukkan info produk ke dalam tabel DB.
- update() – Ini digunakan untuk memvalidasi form data server-side dan memperbaruinya ke dalam database MySQL.
- show() – Metode ini digunakan untuk mengambil info produk tunggal ke dalam tabel DB.
- delete() – Metode ini digunakan untuk menghapus data dari database MySQL.
Sekarang Navigasikan ke folder App/Configuration. Dan Buka file “Routes.php” , lalu cari kode berikut :
$Route->get('/', 'home :: index');
Kemudian, ubah yang berikut ini:
$Route->resource('product');
Konfigurasi ini memungkinkan kita untuk mengakses EndPoint berikut:
Langkah 7: Mulai development server
Buka terminal Anda dan jalankan perintah berikut untuk memulai development server:
php spark serve
Selanjutnya, Buka aplikasi postman untuk memanggil API yang dibuat di atas sebagai berikut:
1: Dapatkan semua info produk dari tabel DB, Anda dapat menghubungi get all product info api di aplikasi postman sebagai berikut:
http://localhost:8080/products
Dan jika Anda ingin mendapatkan info produk, Anda dapat menggunakan yang berikut di aplikasi postman:
http://localhost:8080/products/10
Untuk memasukkan info produk baru ke dalam tabel DB, Anda dapat memanggil create apis sebagai berikut:
http://localhost:8080/products
Untuk update info ke tabel DB menggunakan api update, Anda dapat memanggil api info update sebagai berikut:
Untuk menghapus info produk menggunakan codeigniter api, Anda dapat memanggil delete api sebagai berikut:
Kesimpulan
Dalam tutorial contoh Codeigniter 4 rest API ini, Anda telah mempelajari cara membuat restful API di framework Codeigniter 4.
codeigniter rest api tutorial example codeigniter