Membuat Restful Api Menggunakan codeigniter4
By: Aditiya Dwi Ramadani
Tags: PHP, Codeigniter, MySQL, Rest Api

Hello teman-teman jumpa lagi. bersama saya Aditiya Dwi Ramadani. Di tutorial Kali ini kita akan membuat Restful Api menggunakan framework codeigniter4.

codeigniter sendiri Merupakan Framework Yang Menggunakan bahasa Pemograman Php . Dengan Konsep Mvc. Yaitu Model Views Dan Controller . Codeigniter Sendiri Mempuyai Ukuran Yang Kecil Teman Teman dan Fiturnya Juga Lumayan Banyak. Ok Jadi Itu Pengertian Singkat Tentang Codeigniter.

Untuk Menginstall Codeigniter Harus Install Php dulu di Laptop Atau Computer Kalian. Atau Kalian Bisa Download Xampp Di Sini Teman Teman.Kemudian Kalian Install Composer Dulu Di Laptop Atau Computer Kalian. Kalau Belum Megerti Tentang Composer Teman Teman Bisa Klik Link Di Sini. Atau Teman Teman Bisa Langsung Download Composer Di Sini.

Kalau Suda Semua Buka Terminal Kalian. Untuk Di windows Bisa Buka Cmd.Kemudian Ketik Di Bawah Ini.

composer create-project codeigniter4/appstarter nama-apikasi

cd nama-apikasi

composer update

Ok Kalian Suda Menginstall Codeigniter Computer Kalian Masing-Masing. Buka text Editor Kalian Masing-Masing. Kemudian copy file env menjadi .env.

Buka File .env.Kemudian Cari CI_ENVIRONMENT. Mejadi Seperti Di Bawah.

CI_ENVIRONMENT = development

Sedikit Penjelasan. Kita Menggubah ENVIRONMENT Teman Teman Menjadi development. Kalau Kalian Udah Deploy Appnya. Kalian Edit ENVIRONMENT Menjadi Semula Ya Teman Teman.

Ok Kalian Buka folder Controllers nya Kemudian Tambahkan File Base.php.Buka Filenya Tabahkan Di Bawah Ini Teman Teman.

<?php

namespace App\Controllers;

class Base extends BaseController{

}

oK Kita Suda Membuat Controllernya. Kemudian Buka Lagi Filenya . Teman Teman.Di Dalam class Base Kalian Tabahkan Di Bawah Ini.

public function index(){

return "hello Semua ";

}

Kemudian. Buka Terminal Teman Teman. Kemudian Ketik php spark server.Dan Coba Buka Browser Teman Teman. Ketik Di Urlnya. localhost:8080. Maka Akan Seperti Gambar Di Bawa Ini.

Kemudian Buka Xampp Teman Teman. Aktifkan Apache Sama Mysqlnya.

Buka Terminal Lagi Teman. Kemudian Ketik. php spark migrate:create add_blog. kemudian buka File Database/Migration/2020–12–25–012344_add_blog.php. File Nya Pasti Beda Teman Teman.Sesuai Waktu Kalain Membuat Migrasi databasenya Teman Teman. Di Dalam Methods up. Tambahkan Di Bawah Ini Teman Teman .

$this->forge->addField([

'id' => [

'type' => 'INT',

'constraint' => 5,

'unsigned' => true,

'auto_increment' => true,

],

'title' => [

'type' => 'VARCHAR',

'constraint' => '100',

],

'content' => [

'type' => 'TEXT',

'null' => true, ], 'created_at' => [

'type' => 'DATETIME',

'null' => true,

], 'updated_at' => [

'type' => 'DATETIME',

'null' => true,

]

]);

$this->forge->addKey('id', true);

$this->forge->createTable('blogi');

Kemudian Edit File .env nya Cari DATABASE di file nya Edit. Seperti Di Bawah Ini

#--------------------------------------------------------------------

# DATABASE

#-------------------------------------------------------------------- database.default.hostname = localhost

database.default.database = ci4_api

database.default.username = root

database.default.password =

database.default.DBDriver = MySQLi

Kemudian Buka Browser Kalian Lagi. Kemudian Ketik .localhost/phpmyadmin. Kemudian Kalian Click New. Lihat Contoh Gambar Di Bawah Ini.

Kalau sudah Kalian Buka Terminal Kalian.Ketik php spark migrate.

Kemudian Kalian Buka Folder App/Models. Kemudian Buat File Yang Bernama Blog.php. Kemudian Buka Filenya. Dan Tambahkan Di Bawah ini.

<?php namespace App\Models;

use CodeIgniter\Model; class Blog extends Model

{ protected $table = 'blog';

protected $primaryKey = 'id';

protected $returnType = 'array';

protected $allowedFields = ['title', 'content'];

protected $useTimestamps = true;

protected $createdField = 'created_at';

protected $updatedField = 'updated_at';

}

Kemudian Kalian Ke Controllernya Lagi . Untuk Create Dan Read . Kemudian Kalian Edit Filenya. Seperti Di Bawah Ini

<?php

namespace App\Controllers;

use App\Models\Blog as BlogModel; class Base extends BaseController{ private function Model(){

$model = new BlogModel();

return $model;

} public function index(){

$model = $this->Model();

$data = $model->findAll();

return $this->response->setJSON($data);

} public function create(){

$model = $this->Model();

$model->insert($this->request->getJSON());

return $this->response->setJSON($this->request->getJSON());

}

}



Kemudian Kalian Buka FIle App/Config/Routes.php. Dan Kalian Edit Filenya Seperti Di Bawah Ini

$routes->get('/', 'Base');

$routes->post('/', 'Base::create');



Kemudian Untuk Details, Delete Dan Edit.Buka File Controllenya.Kemudian Kalian Edit Seperti Di Bawah Ini.

<?php

namespace App\Controllers;

use App\Models\Blog as BlogModel; class Base extends BaseController{ private function Model(){

$model = new BlogModel();

return $model;

} public function index(){

$model = $this->Model();

$data = $model->findAll();

return $this->response->setJSON($data);

} public function create(){

$model = $this->Model();

$model->insert($this->request->getJSON());

return $this->response->setJSON($this->request->getJSON());

}

public function Details($id){

$model = $this->Model();

$data = $model->find($id); if(!$data){

return $this->response->setStatusCode(404, 'not found')->setJSON(['msg' => "id not fout"]);

} return $this->response->setJSON($data); } public function delete($id){

$model = $this->Model();

$data = $model->find($id); if(!$data){

return $this->response->setStatusCode(404, 'not found')->setJSON(['msg' => "id not fout"]);

} $model->delete($id);

return $this->response->setJSON(["msg" => "sucesss delete data"]);

} public function edit($id){

$model = $this->Model();

$data = $model->find($id); if(!$data){

return $this->response->setStatusCode(404, 'not found')->setJSON(['msg' => "id not fout"]);

} $model->update($id, $this->request->getJSON());

return $this->response->setJSON($this->request->getJSON());

} }



Kemudian Buka File App/Confing/Routes.php. Dan Kemudian Edit Seperti Di Bawah Ini.

$routes->get('/', 'Base');

$routes->get('/(:num)', 'Base::Details/$1');

$routes->post('/', 'Base::create');

$routes->delete('/(:num)', 'Base::delete/$1');

$routes->put('/(:num)', 'Base::edit/$1');

Finally. Kalian Suda Membuat Rest Api Menggunakan Ci.

Ok Trimakasih Suda Membaca.