본문으로 바로가기

CI 다운로드

codeigniter.com/download 

 

Download CodeIgniter

CodeIgniter comes in three flavors: CodeIgniter 3 (current), CodeIgniter 4 (future) and CodeIgniter 2 (legacy) CodeIgniter 2 CodeIgniter 2.2.6 is the legacy version of the framework. The 2.x branch was originally released January 2011, and the last version

codeigniter.com

 

 

php ver : 5.6.8

CI ver : 3.1.11

API Root : /api/v1/CI Root

 

관련 코드 다운로드

github.com/mittarpal/CodeIgniter-Restful-API-Application

github.com/ctechhindi/CodeIgniter-API-Controller

 

CodeIgniter-Restful-API-Application-master.zip
0.69MB

 

API Documentation

  • /application/libraries/API_Controller.php
  • /application/helpers/api_helper.php
  • /application/config/api.php

Token Documentation

  • /application/libraries/Authorization_Token.php
  • /application/config/jwt.php
  • PHP-JWT Library /application/third_party/php-jwt/

 

CI 에서 index.php 제거

/.htaccess

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond $1 !^(index\.php|images|captcha|data|include|uploads|robots\.txt)
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /api/v1/index.php/$1 [L]
</IfModule>

 

/api/v1/application/controllers/User_api.php

<?php defined('BASEPATH') OR exit('No direct script access allowed');

require APPPATH . '/libraries/API_Controller.php';

class User_api extends API_Controller
{
    public function __construct()
    {
        parent::__construct();
    }


    /**
     * Simple API
     *
     * @link : api/v1/simple
     */
    public function simple_api()
    {
        header("Access-Control-Allow-Origin: *");

        // API Configuration
        $this->_apiConfig([
            'methods' => ['POST'], // Request Execute Only POST and GET Method
        ]);
    }

}

 

 

혹시 아파치에서 권한 문제 발생시

<Directory />
    Options FollowSymLinks
    AllowOverride All
    Order deny,allow
    Allow from all
</Directory>

 

 

 

* 추가사항

routers.php 사용시 parameter는 (:num) 또는 (:any) 만 사용

- 숫자형과 그 이외의 형

예) $route['v1/product/(:num)/(:any)/delete'] = 'v1/products/goods_del/$1/$2';

 

라우팅 참조 : www.ciboard.co.kr/user_guide/kr/general/routing.html