duanjianshen4871 2018-09-20 18:29 采纳率: 100%
浏览 64

405方法不允许 - CodeIgniter Rest-server

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.

  1. all_users_get is working fine.
  2. 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

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 ads仿真结果在圆图上是怎么读数的
    • ¥20 Cotex M3的调试和程序执行方式是什么样的?
    • ¥20 java项目连接sqlserver时报ssl相关错误
    • ¥15 一道python难题3
    • ¥15 用matlab 设计一个不动点迭代法求解非线性方程组的代码
    • ¥15 牛顿斯科特系数表表示
    • ¥15 arduino 步进电机
    • ¥20 程序进入HardFault_Handler
    • ¥15 oracle集群安装出bug
    • ¥15 关于#python#的问题:自动化测试