Getting Error in CodeIgniter RESTful API

1.4k Views Asked by At
defined('BASEPATH') OR exit('No direct script access allowed');

require('application/libraries/REST_Controller.php');

use Restserver\Libraries\REST_Controller;

class demo extends REST_Controller {

  function __construct(){

    parent::__construct();
  }

  public function demo1_get()
  {
    echo 'demo 1';
  }

} 

Error Image enter image description here

This is My REST_Controller enter image description here

Hi, I m getting Error for making Codeigniter RESTful API. Please Help me to solve this problem.

2

There are 2 best solutions below

0
On

It should be like this :

Make sure you have REST_Controller.php in your libraries folder

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

require_once APPPATH . '/libraries/REST_Controller.php';


class Demo  extends REST_Controller
{
    function __construct(){

      parent::__construct();
    }

   public function demo1_get()
   {
     echo 'demo 1';
   }
}
0
On

You need to follow the link https://itsolutionstuff.com/post/codeigniter-3-restful-api-tutorialexample.html

and then after you run the code you will get a small error Unable to load the requested language file: language/english/rest_controller_lang.php

The problem is that codeigniter can't find the rest_controller translations. You just need to create this file /application/languages/english/rest_controller_lang.php

Then copy & paste this code inside:

<?php
/*
 * English language
 */
$lang['text_rest_invalid_api_key'] = 'Invalid API key %s'; // %s is the REST API key
$lang['text_rest_invalid_credentials'] = 'Invalid credentials';
$lang['text_rest_ip_denied'] = 'IP denied';
$lang['text_rest_ip_unauthorized'] = 'IP unauthorized';
$lang['text_rest_unauthorized'] = 'Unauthorized';
$lang['text_rest_ajax_only'] = 'Only AJAX requests are allowed';
$lang['text_rest_api_key_unauthorized'] = 'This API key does not have access to the requested controller';
$lang['text_rest_api_key_permissions'] = 'This API key does not have enough permissions';
$lang['text_rest_api_key_time_limit'] = 'This API key has reached the time limit for this method';
$lang['text_rest_ip_address_time_limit'] = 'This IP Address has reached the time limit for this method';
$lang['text_rest_unknown_method'] = 'Unknown method';
$lang['text_rest_unsupported'] = 'Unsupported protocol';

Hope this helps