andriajah Mon Jul 2022 1 year ago

Tutorial Membuat Rest Api di CodeIgniter 4

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:

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