drt5813
2016-09-13 07:17
浏览 52
已采纳

Codeigniter chriskacerguis-RESTAPI未知的访问方法

This is my Folder

Controller
  L>API
    L>ID
      L>Example.php
  L>Example.php

Both my example.php at API/example.php and API/ID/example.php were the same like this.

<?php

defined('BASEPATH') OR exit('No direct script access allowed');
require APPPATH . '/core/REST_Controller.php';

/**
 * This is an example of a few basic user interaction methods you could use
 * all done with a hardcoded array
 *
 * @package         CodeIgniter
 * @subpackage      Rest Server
 * @category        Controller
 * @author          Phil Sturgeon, Chris Kacerguis
 * @license         MIT
 * @link            https://github.com/chriskacerguis/codeigniter-restserver
 */

class Example extends REST_Controller {
    public function index_get()
    {
        // index from a data store e.g. database
        $index = [
            ['id' => 1, 'name' => 'John', 'email' => 'john@example.com', 'fact' => 'Loves coding'],
            ['id' => 2, 'name' => 'Jim', 'email' => 'jim@example.com', 'fact' => 'Developed on CodeIgniter'],
            ['id' => 3, 'name' => 'Jane', 'email' => 'jane@example.com', 'fact' => 'Lives in the USA', ['hobbies' => ['guitar', 'cycling']]],
        ];

        $id = $this->get('id');
        $this->response($index, REST_Controller::HTTP_OK);
    }

    public function users_get(){
       echo"test";die();
    }
}

First I Adjust my config/routes.php like this

$route['API'] = "API";
$route['API/(.+)'] = "API/$1";

When I accessed base_url/API/Example/id/1 it responded the $index[1] that has name John.

Then I changed the routes.php into

$route["API/example"]="API/ID/example";
$route["API/example/(.+)"]="API/ID/example/(.+)";

Then I accessed I accessed base_url/API/Example/id/1 Which will go to API/ID/Example based on routes.php But Its responded

{
"status": false
"message": "Unknown method"
}

But if I accesed base_url/API/Example?id=1 It responded with $index[1]

How can I call api from API/ID/Example.php using base_url/API/example/id/1 and it will return $index[1]? not status:false unknown method

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

1条回答 默认 最新

相关推荐 更多相似问题