티스토리 뷰
Phalcon 마이크로와 REST API
앞서 Phalcon 웹 프레임워크를 소개한 바 있다. [관련 링크] 이번 글에서는 Phalcon의 Micro 클래스를 이용하여 REST API를 작성하는 방법을 소개하고자 한다.
Rewrite Rules 작성
프로젝트 루트 디렉토리에 .htaccess 파일을 아래와 같이 작성한다. Apache의 rewrite 모듈에 읽혀져 REST 친화적인 Pretty Urls 기능을 수행하게 된다.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^((?s).*)$ index.php?_url=/$1 [QSA,L]
</IfModule>
- 프로젝트 루트로 들어오는 모든 요청을
index.php가 수행하도록 한다. Path(ex: /v1/hello)에 해당하는 문자열은_url이라는 쿼리스트링에 담아 index.php에 전달한다. 반드시 _url 이름으로 담아야 Micro 클래스에 의해 인지되어 정상적으로 라우팅이 작동하게 된다.
index.php 작성
프로젝트 루트 디렉토리에 index.php 파일을 아래와 같이 작성한다.
<?php
use Phalcon\Http\Response;
use Phalcon\Mvc\Micro;
$app = new Micro();
$app->get(
"/v1/hello/{name}",
function ($name) use ($app) {
$res = new Response();
$res->setStatusCode(200);
$res->setContentType("application/json", 'UTF-8');
$res->setContent(json_encode(array(
"message" => "Hello, $name!",
), JSON_PRETTY_PRINT));
return $res;
}
);
$app->handle();
GET /v1/hello/{name}요청이 들어오면 JSON으로Hello, {name}!을 출력하는 간단한 기능을 구현했다.- 단 2개 파일 만으로 REST API 기능 구현이 끝났다. 추가로 로드되는 PHP 파일은 단 1개도 없다. 나머지는
C로 작성된 4MB 크기의 Phalcon의 확장 모듈이 초고속으로 작동하여 처리한다.
참고 글
댓글
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Spring Boot
- kotlin
- graylog
- Spring MVC 3
- JHipster
- bootstrap
- Docker
- jsp
- 로드바이크
- MySQL
- maven
- node.js
- chrome
- 태그를 입력해 주세요.
- Kendo UI
- spring
- Kendo UI Web Grid
- DynamoDB
- 로드 바이크
- 구동계
- 평속
- CentOS
- Tomcat
- JavaScript
- jpa
- 자전거
- java
- jstl
- Eclipse
- 알뜰폰
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
글 보관함
