オリジナル処理と紐づいたAPIエンドポイントを作成する
Kurocoではオリジナル処理と紐づいたエンドポイントの作成ができます。
オリジナル処理を利用することのメリット
オリジナル処理を利用することで、APIエンドポイントの標準機能だけでは実現が難しい処理を自由に追加できます。そのため、様々なユースケースに柔軟に対応できます。
例として、下記対応が可能です。
- リクエスト/レスポンス内容を変更する
- APIへの処理をフックする
- 独自のセキュリティ制御を実装する
このチュートリアルでは、オリジナル処理とエンドポイントを紐付ける方法を紹介します。
GETエンドポイントとオリジナル処理を作成する
まずはGETエンドポイントの例を紹介します。
ここでは例として、PlainCustomFunction
という名前のオリジナル処理をAPIエンドポイントと紐付けます。
GETエンドポイントを作成する
オリジナル処理と紐づけるためのエンドポイントを作成します。
エンドポイント一覧画面より、[エンドポイントの設定]をクリックします。
今回は下記のように作成しました。
設定項目 | 設定 | |
---|---|---|
パス | plain-custom-endpoint | |
有効/無効 | 有効 | |
モデル | カテゴリー | API |
モデル | Api、v1 | |
オペレーション | request_api | |
サマリー(任意) | PlainCustomFunction 注:わかりやすい名前を記載してください。後に作成するオリジナル処理名の記載を推奨します。 | |
ディスクリプション(任意) | PlainCustomFunctionと紐づくGETエンドポイントです。 注:わかりやすい説明を記載してください。オリジナル処理の意図/機能の記載を推奨します。 | |
Parameters | name | PlainCustomFunction 注:後に作成するオリジナル処理のslugを指定します。 |
GETエンドポイント用のオリジナル処理を作成する
次に、作成したGETエンドポイント用のオリジナル処理を作成します。
オリジナル処理一覧画面より、[追加]をクリックします。
下記の設定で作成します。
項目 | 説明 |
---|---|
タイトル | PlainCustomFunction |
カテゴリ | 未分類 |
slug | PlainCustomFunction |
実行内容 | 下記ソースコードの内容を記載してください。 |
公開設定 | すぐに公開する |
{* シンプルなダミー文字列を返します。 *}
{capture name=data}
{literal}
responce text
{/literal}
{/capture}
{assign var=data value=$smarty.capture.data}
GETエンドポイントの動作確認をする
それでは、作成したエンドポイントの動作確認をします。 今回はSwaggerUI画面から確認します。
エンドポイント一覧画面より、[Swagger UI]をクリックします。
先ほど作成した、plain-custom-endpoint
をクリックします。
[Try it out]をクリックします。
[Execute]をクリックします。
すると、Response bodyにオリジナル処理で作成した内容が表示されていることが確認できます。
以上で、GETエンドポイントとオリジナル処理の紐付け完了です。
POSTエンドポイントとオリジナル処理を作成する
次に、POSTエンドポイントの例を紹介します。
ここでは例として、PlainCustomFunctionPost
という名前のオリジナル処理を作成することとし、サマリー/ディスクリプションに説明例を記載しています。
POSTエンドポイントを作成する
オリジナル処理と紐づけるためのエンドポイントを作成します。
エンドポイント一覧画面より、[エンドポイントの設定]をクリックします。
今回は下記のように作成しました。
設定項目 | 設定 | |
---|---|---|
パス | plain-custom-endpoint-post | |
有効/無効 | 有効 | |
モデル | カテゴリー | API |
モデル | Api、v1 | |
オペレーション | request_api_post | |
サマリー(任意) | PlainCustomFunctionPost 注:わかりやすい名前を記載してください。後に作成するオリジナル処理名の記載を推奨します。 | |
ディスクリプション(任意) | PlainCustomFunctionPostと紐づくPOSTエンドポイントです。 注:わかりやすい説明を記載してください。オリジナル処理の意図/機能の記載を推奨します。 | |
Parameters | name | PlainCustomFunctionPost 注:後に作成するオリジナル処理のslugを指定します。 |
POSTエンドポイント用のオリジナル処理を作成する
次に、作成したPOSTエンドポイント用のオリジナル処理を作成します。
オリジナル処理一覧画面より、[追加]をクリックします。
下記の設定で作成します。
項目 | 説明 |
---|---|
タイトル | PlainCustomFunctionPost |
カテゴリ | 未分類 |
slug | PlainCustomFunctionPost |
実行内容 | 下記ソースコードの内容を記載してください。 |
公開設定 | すぐに公開する |
{* シンプルなダミー文字列を返します。 *}
{capture name=data}
{literal}
responce text
{/literal}
{/capture}
{assign var=data value=$smarty.capture.data}
POSTエンドポイントの動作確認をする
それでは、作成したエンドポイントの動作確認をします。 今回はSwaggerUI画面から確認します。
エンドポイント一覧画面より、[Swagger UI]をクリックします。
先ほど作成した、plain-custom-endpoint-post
をクリックします。
[Try it out]をクリックします。
[Execute]をクリックします。
すると、Response bodyにオリジナル処理で作成した内容が表示されていることが確認できます。
以上で、POSTエンドポイントとオリジナル処理の紐付け完了です。
オリジナル処理の実装例について
以上でオリジナル処理とAPIエンドポイントの紐付け方法の紹介を終わります。 このチュートリアルではシンプルに紐付けの方法のみの説明にとどめましたが、オリジナル処理の実装についてもっと詳しく知りたい場合は、下記ユースケース別のチュートリアルを参照してください。