Quantcast
Channel: Codeigniter - XpertPhp
Viewing all articles
Browse latest Browse all 20

CodeIgniter 4 Rest Api Example Tutorial

$
0
0

In this tutorial, We will inform you how to create a Rest API example in CodeIgniter 4(CodeIgniter 4 Rest API Example Tutorial).

REST stands for Representational State Transfer. It means allows two clients to communicate with a server. the Rest API uses HTTP requests to GET, PUT, POST, and DELETE data.

There are four types of API. such as SOAP, XML-RPC, JSON-RPC. and REST. so here we will use REST API.

Overview
Step 1: Download Codeigniter
Step 2: Basic Configurations
Step 3: Create a Database in table
Step 4: Connect to Database
Step 5: Create Controller and Model
Step 6: Create REST API Route
Step 7: Run The Application

Download Codeigniter

If you want to download or install CodeIgniter 4 then you can below Url.
How To Install Codeigniter 4 Using Manual, Composer, Git

Basic Configurations

If you want to Basic Configurations in your project then you can below Url.
Codeigniter 4 Removing Index.Php From Url

Create a Database in table

In this step, We will create the database and table.

CREATE TABLE IF NOT EXISTS `students` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `first_name` varchar(64) NOT NULL,
  `last_name` varchar(64) NOT NULL,
  `address` text NOT NULL,
  `email` varchar(64) NOT NULL,
  `mobile` varchar(12) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=15 ;

Connect to Database

Go to the “app/Config/Database.php” folder and open the database.php file some changes in this file like hostname, database username, database password, and database name.

public $default = [
		'DSN'      => '',
		'hostname' => 'localhost',
		'username' => 'root',
		'password' => '',
		'database' => 'codeigniter4_crud',
		'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,
	];

Create Controller and Model

In this step, we will a create “Student.php” controller and “StudentModel.php” model.
app/Controllers/Student.php

<?php namespace App\Controllers;
 
use CodeIgniter\RESTful\ResourceController;
use CodeIgniter\API\ResponseTrait;
use App\Models\StudentModel;
 
class Student extends ResourceController
{
	use ResponseTrait;
	//get all Student data
    public function index()
    {    
        $model = new StudentModel();
 
        $data['students'] = $model->orderBy('id', 'DESC')->findAll();
        
        return $this->respond($data);
    } 
	//get single student data
	public function show($id = null)
    {
      
		$model = new StudentModel();
		
		$data = $model->where('id', $id)->first();
	 
		if($data){
			return $this->respond($data);
		}else{
			return $this->failNotFound('No Data found');
		}
	}	

	//create student data
    public function create()
    {  
         
        $model = new StudentModel();
		
        $data = [
            'first_name' => $this->request->getVar('first_name'),
            'last_name'  => $this->request->getVar('last_name'),
            'address'  => $this->request->getVar('address'),
            'email'  => $this->request->getVar('email'),
            'mobile'  => $this->request->getVar('mobile'),
        ];
        $model->insert_data($data);
		
		
		$response = [
          'status'   => 201,
          'error'    => null,
          'messages' => [
              'success' => 'Student Created successfully'
          ]
      ];
      return $this->respondCreated($response);
    }
 
   
	//update student data
    public function update($id = null)
    {  
 		 
		$model = new StudentModel();

		$data = [
            'first_name' => $this->request->getVar('first_name'),
            'last_name'  => $this->request->getVar('last_name'),
            'address'  => $this->request->getVar('address'),
            'email'  => $this->request->getVar('email'),
            'mobile'  => $this->request->getVar('mobile'),
        ];

		$update = $model->update($id,$data);
		$response = [
            'status'   => 200,
            'error'    => null,
            'messages' => [
                'success' => 'Student Updated successfully'
            ]
        ];
        return $this->respond($response);
    }
	
	//delete student data
    public function delete($id = null){
		$model = new StudentModel();
		$data = $model->find($id);
        if($data){
            $model->where('id', $id)->delete();
            $response = [
                'status'   => 200,
                'error'    => null,
                'messages' => [
                    'success' => 'Student Deleted successfully'
                ]
            ];
            return $this->respondDeleted($response);
        }else{
            return $this->failNotFound('No Data Found');
        }
    }
}

?>

app/Models/StudentModel.php

<?php namespace App\Models;
use CodeIgniter\Database\ConnectionInterface;
use CodeIgniter\Model;
 
class StudentModel extends Model
{
    protected $table = 'Students';
 
    protected $allowedFields = ['first_name','last_name','address','email', 'mobile'];
}
?>

Create REST API Route

Add the following route code in the “app/config/Routes.php” file.

$routes->resource('student');

Run The Application

Now we will run our example using the postman. so you can see the below example.

http://localhost/codeigniter4_rest_api/student

Get All Records using Rest API

http://localhost/codeigniter4_rest_api/student

Get Single Record using Rest API

http://localhost/codeigniter4_rest_api/student/16

Codeigniter 4 single

Create Record using Rest API

http://localhost/codeigniter4_rest_api/student

Codeigniter 4 rest api create

Update Record using Rest API

http://localhost/codeigniter4_rest_api/student

Codeigniter 4 rest api update

Delete Record using Rest API

http://localhost/codeigniter4_rest_api/student/20

Codeigniter 4 rest api delete

Download

The post CodeIgniter 4 Rest Api Example Tutorial appeared first on XpertPhp.


Viewing all articles
Browse latest Browse all 20

Latest Images

Trending Articles



Latest Images