Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Codeigniter RESTful API Server - XML Error?

I've read the following topics/tutorials:

  1. Codeigniter RESTful API Server
  2. http://code.tutsplus.com/tutorials/working-with-restful-services-in-codeigniter--net-8814
  3. https://github.com/chriskacerguis/codeigniter-restserver

And I still can't figure out why I'm with route problems and XML problems. My webservice controller is in the folder controllers/api/webservice.php

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

require APPPATH.'/libraries/RESTful/REST_Controller.php';

class webservice extends REST_Controller{

     function get() {
        $data = array();
        $data['name'] = "TESTNAME";
        $this->response($data); 
     }
}

In the tutorials there is no need to add routes, and in order to receive the XML page error I needed to add the following route or it wouldn't work:

$route['api/webservice/get'] = 'api/webservice/get';

My structure folder of codeIgniter:

 > application
   > config
       rest.php (did not change anything from the GitHub download)
   > controllers
      > api
         webservice.php
         key.php
   > libraries
      > RESTful
         REST_Controller.php (changed line 206 to: $this->load->library('RESTful/format');)
         format.php

From the tutorial, the following link works without routes:

http://localhost/testRestful/index.php/api/example/users

Mine only works with route

http://localhost/myproject/index.php/api/webservice/get

And I receive the following error: enter image description here It does not say anything else. I can't figure out which file is the error talking about.

like image 976
Linesofcode Avatar asked Mar 08 '26 08:03

Linesofcode


1 Answers

you cannot write get function if you use REST_Controller. give that function name test_get.

class webservice extends REST_Controller{
 function test_get() {
    $data = array();
    $data['name'] = "TESTNAME";
    $this->response($data); 
 }
}

Now you can access the page with this link

http://localhost/myproject/index.php/api/webservice/test

_get and _post is added end of the function to detect either it is get request or post requerst.

like image 163
Shaiful Islam Avatar answered Mar 09 '26 20:03

Shaiful Islam



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!