CI 다운로드
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
- /application/libraries/API_Controller.php
- /application/helpers/api_helper.php
- /application/config/api.php
- /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
'[ Web 관련 ] > 코드이그나이터 3.x.x' 카테고리의 다른 글
코드이그나이터 RestApi php-jwt (JSON Web Token) (0) | 2020.06.09 |
---|---|
코드이그나이터 RestApi + CORS 설정 (composer 사용안함) (0) | 2020.05.29 |
CI include 절대 경로 (Views 에서) (0) | 2020.05.14 |
세션사용 (0) | 2020.05.07 |
다국어 파일 사용 (0) | 2020.05.07 |