I am having troubles with Codeigniter - Rest Server for a week already. I have a controller called Users with 2 methods all_users_get and register_post.
register_post
returns { "status": false, "error": "Unknown method" }
If I change the method all_users_get for POST I get the same error, just works with GET
<?php
use Restserver\Libraries\REST_Controller;
defined('BASEPATH') OR exit('No direct script access allowed');
require APPPATH . 'libraries/REST_Controller.php';
require APPPATH . 'libraries/Format.php';
class Users extends REST_Controller {
function __construct()
{
// Construct the parent class
parent::__construct();
$this->load->model('user_model');
// Configure limits on our controller methods
// Ensure you have created the 'limits' table and enabled 'limits' within application/config/rest.php
$this->methods['users_get']['limit'] = 500; // 500 requests per hour per user/key
$this->methods['users_post']['limit'] = 100; // 100 requests per hour per user/key
$this->methods['users_delete']['limit'] = 50; // 50 requests per hour per user/key
}
/**
* @method: GET
* Fetch all users
*/
public function all_users_get()
{
$users = $this->user_model->all_users();
// Check if the users data store contains users (in case the database result returns NULL)
if ($users)
{
// Set the response and exit
$this->response($users, REST_Controller::HTTP_OK); // OK (200) being the HTTP response code
}
else
{
// Set the response and exit
$this->response([
'status' => FALSE,
'message' => 'No users were found'
], REST_Controller::HTTP_NOT_FOUND); // NOT_FOUND (404) being the HTTP response code
}
$this->response($users, REST_Controller::HTTP_OK);
}
/**
* User Register
* *************************
*
* @param: fullname
* @param: email address
* @param: password
* @param: username
*
* *************************
* @method: POST
* @link : api/users/register
*/
public function resgister_post()
{
header('Access-Control-Allow-Origin: *');
$this->response("Teste", REST_Controller::HTTP_OK);
}
}
I am running my code in localhost with Xampp and I found on phpinfo
_SERVER["REQUEST_METHOD"] GET
I am confused I don't know if this had something to do with Xampp conf or my code, please help. Thank you all
This function should work for you :)
public function index_post()// post data to the database
{
$data = [
'first_name' => $this->post('first_name'),
'last_name' => $this->post('last_name'),
'email' => $this->post('email')
];
if( $this->users->createUser($data) > 0)
{
$this->response([
'status' => true,
'message' => 'NEW USER CREATED'
], REST_Controller::HTTP_CREATED);
}
else{
$this->response([
'status' => false,
'message' => 'FAILED TO CREATE NEW USER'
], REST_Controller::HTTP_BAD_REQUEST);
}
}