Как я могу определить свою функцию при использовании REST API в CodeIgniter? - PullRequest
0 голосов
/ 20 сентября 2018

Я создал контроллер с именем Api.php, а затем расширил Rest_Controller.Я заметил, что я могу использовать index_get () только при создании функции в этом контроллере

<?php

class Api extends REST_Controller{

    public function __construct()
    {
        parent::__construct();

    }

    public function index_get(){
        $car_id = $this->get('car_id');
        if(!$car_id){

            $this->response("No Car ID specified", 400);

            exit;
        }

        $result = $this->model_getvalues->getCars( $car_id );

        if($result){

            $this->response($result, 200); 

            exit;
        } 
        else{

             $this->response("Invalid Car ID", 404);

            exit;
        }
    }

}

, но когда я пытаюсь создать желаемую функцию, например getAllCars () вместо index_get() Я получаю сообщение об ошибке, сообщающее мне неизвестную функцию.

Как я могу определить свою собственную функцию вместо использования index_get () при использовании библиотеки остальных API в CodeIgniter?

Ответы [ 2 ]

0 голосов
/ 20 сентября 2018

Спасибо, я смог понять это, я только что узнал, что имя перед _get имеет значение для URL, т.е. когда у кого-то есть метод, такой как getCars_get, вам придется вызывать его, используя просто getCars без _getприкрепить к нему, это работает для меня.это означает, что в контроллере API может быть более _get метод.

0 голосов
/ 20 сентября 2018

По умолчанию для https://github.com/chriskacerguis/codeigniter-restserver#handling-requests используется метод index_get (), другой способ использовать собственный метод - использовать параметр HTTP GET, например:

if($this->get('car_id') == 'all'){
  //your own function here
}

Или, если вы действительно хотитесоздайте свой собственный метод, на который вы можете ссылаться http://programmerblog.net/create-restful-web-services-in-codeigniter/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...