【サンプルを利用する場合(QUICK-START)】
はじめに
このページでは、REST-API サーバーをサンプルを利用して最短で動かすための手順を紹介します。
プロジェクトの生成からサーバー起動、動作確認、最初の API 実装までを一通り体験できるため、 SOCKET-MANAGER Framework の基本的な開発フローを素早く理解できます。
サンプル環境は PSR-7 準拠 の HTTP 処理や CUEI アーキテクチャ に基づく内部構造をそのまま利用でき、 REST-API 開発の基礎を学ぶのに最適です。
まずは「動くものを触りたい」という方は、このサンプルを利用したクイックスタートから始めてください。
1 からサーバーを構築したい場合は、 ▶新規でサーバーを作る場合(QUICK-START) を参照してください。
プロジェクトの生成からサーバー起動、動作確認、最初の API 実装までを一通り体験できるため、 SOCKET-MANAGER Framework の基本的な開発フローを素早く理解できます。
サンプル環境は PSR-7 準拠 の HTTP 処理や CUEI アーキテクチャ に基づく内部構造をそのまま利用でき、 REST-API 開発の基礎を学ぶのに最適です。
まずは「動くものを触りたい」という方は、このサンプルを利用したクイックスタートから始めてください。
1 からサーバーを構築したい場合は、 ▶新規でサーバーを作る場合(QUICK-START) を参照してください。
プロジェクト作成
REST-API 開発環境の生成
最短で REST-API を動かすには、まず create-project で環境を生成します。
composer create-project socket-manager/rest-api my-api
完了すると、REST-API サーバーに必要なディレクトリと設定ファイルが自動生成されます。
サーバー起動
イベントハンドラ型の起動
php worker app:event-handler-sample
ステートマシン型の起動
php worker app:state-machine-sample
起動に成功すると、REST-API サーバーがポート 10000 で待ち受けます。
動作確認
ブラウザで確認
http://localhost:10000/sample.html
サンプル画面には、GET / POST / PUT / DELETE などの基本 API を試せる UI が用意されています。
API を直接叩く(curl)
curl http://localhost:10000/api/v1/sample
JSON レスポンスが返れば、REST-API サーバーは正常に動作しています。
最初の API を作る
ルーティングを追加
サンプル環境では、setting/routing-sample.php にルーティングを追加するだけで
新しい API を作成できます。例として
/hello にアクセスしたときに JSON を返す API を追加します。
[
'method' => 'get',
'uri' => '/hello',
'event' => 'responseHello'
],
イベントハンドラクラスにメソッドを追加
次に、イベントハンドラクラス(app/EventClass/EventHandlerSample.php)へ
ルーティングで指定したメソッド(responseHello)を追加します。
protected function responseHello($p_param)
{
$p_param->response()->json(['message' => 'Hello API']);
}
動作確認
サーバーを起動します。
php worker app:event-handler-sample
ブラウザまたは curl でアクセスします。
curl http://localhost:10000/hello
{"message":"Hello API"}
これで最初の REST-API が完成します。サンプル環境では、ルーティングとメソッド追加だけで API を簡単に拡張できます。
次のステップ
このクイックスタートでは、REST-API サーバーを動かすための最小構成を紹介しました。
より高度な実装や内部構造について理解を深めたい場合は、以下のページを参照してください。
● CUEIとの実装レベルでの関係(通信抽象化 / Context / Event / IPC)
▶CUEIとの実装レベルでの関係
● PSR-7 ラッパーの仕様(RequestWrapper / ResponseWrapper)
▶PSR-7 ラッパーの仕様
● イベントハンドラ型実装(CRUD / Range)
▶イベントハンドラ型実装
● ステートマシン型実装(Chunked / SSE / Range / IPC)
▶ステートマシン型実装
REST-API サーバーの基礎から応用まで、段階的に理解できる構成になっています。
より高度な実装や内部構造について理解を深めたい場合は、以下のページを参照してください。
● CUEIとの実装レベルでの関係(通信抽象化 / Context / Event / IPC)
▶CUEIとの実装レベルでの関係
● PSR-7 ラッパーの仕様(RequestWrapper / ResponseWrapper)
▶PSR-7 ラッパーの仕様
● イベントハンドラ型実装(CRUD / Range)
▶イベントハンドラ型実装
● ステートマシン型実装(Chunked / SSE / Range / IPC)
▶ステートマシン型実装
REST-API サーバーの基礎から応用まで、段階的に理解できる構成になっています。