2016-09-13 10 views
0

Das ist mein OrdnerCodeigniter chriskacerguis-RESTAPI Unbekannt Zugriffsmethode

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

Sowohl mein example.php bei API/example.php und API/ID/example.php waren die gleichen wie diese.

<?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' => '[email protected]', 'fact' => 'Loves coding'], 
      ['id' => 2, 'name' => 'Jim', 'email' => '[email protected]', 'fact' => 'Developed on CodeIgniter'], 
      ['id' => 3, 'name' => 'Jane', 'email' => '[email protected]', '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(); 
    } 
} 

Zuerst stelle ich meine config/routes.php wie diese

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

Wenn ich zugegriffen base_url/API/Beispiel/id/1 den $ Index reagierte [1], der Name John hat .

Dann änderte ich den routes.php in

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

Dann base_url/API/Beispiel/id/1 Welche API/ID/Beispiel basierend auf routes.php gehen ich zugegriffen ich zugegriffen Aber seine reagierte

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

Aber wenn ich accesed base_url/API/Beispiel? id = 1 Es reagierte mit $ index [1]

Wie kann ich api von API/ID/Example.php mit base_url/API/example/id/1 aufrufen und $ index [1] zurückgeben? nicht Status: false unbekannte Methode

Antwort

0

ich die Lösung wissen, Sein, weil mein Routing falsch ist

$route['API/search_location/(.+)']="API/ID/example/index/$1"; 
$route['API/search_location']="API/ID/example";