Welcome Guest, Not a member yet? Register   Sign In
Building REST APIs code Igniter
#1

I am trying to develop REST APIs for my website. I am using CodeIgniter's PHP Framework. I have followed the tutorial mentioned on http://code.tutsplus.com/tutorials/worki...--net-8814 to create the restful apis. The tutorial is based upon the code developed on https://github.com/chriskacerguis/codeig...restserver

I have placed the rest.php in application/config folder and REST_Controller.php in application/libraries/

I have created an api in application/controllers/example.php

require APPPATH.'/libraries/REST_Controller.php';
Code:
class example extends REST_Controller
    {
        function __construct()
        {
            // Construct our parent class
            parent::__construct();
        }
       function user_get()
        {
            if(!$this->get('id'))
            {
                $this->response(NULL, 400);
            }
            // $user = $this->some_model->getSomething( $this->get('id') );
            $users = array(
                1 => array('id' => 1, 'name' => 'Some Guy', 'email' => '[email protected]', 'fact' => 'Loves swimming'),
                2 => array('id' => 2, 'name' => 'Person Face', 'email' => '[email protected]', 'fact' => 'Has a huge face'),
                3 => array('id' => 3, 'name' => 'Scotty', 'email' => '[email protected]', 'fact' => 'Is a Scott!', array('hobbies' => array('fartings', 'bikes'))),
            );

            $user = @$users[$this->get('id')];

            if($user)
            {
                $this->response($user, 200); // 200 being the HTTP response code
            }
            else
            {
                $this->response(array('error' => 'User could not be found'), 404);
            }
        }
    }
I have a .htaccess file as below:

Code:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]

However when I send a GET Request to mywebsite.com/example/user/id/1 it redirects to the homepage. Could someone guide me
Reply
#2

Hello,
Did you edit your config file? the uri_protocol? just set it into 'AUTO'.
Reply
#3

array('hobbies' => array('fartings', 'bikes')) - for newer original versions of Format.php this array causes error if I remember correctly.

I have the current https://github.com/chriskacerguis/codeig...restserver with modifications, it is downgraded for PHP < 5.4 with keeping BC as much as it is possible.

Here is code from the tutorial that works - http://iridadesign.com/starter-public-ed...est/server

Here you can find the modified libraries https://github.com/ivantcholakov/starter.../libraries
Reply




Theme © iAndrew 2016 - Forum software by © MyBB