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

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条回答 默认 最新

  • dongyuxin5353 2016-09-16 03:24
    关注

    I know the solution, Its because my routing is wrong

    $route['API/search_location/(.+)']="API/ID/example/index/$1";
    $route['API/search_location']="API/ID/example";
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器