カスタム処理と紐づいたAPIエンドポイントを作成する

Kurocoではカスタム処理と紐づいたエンドポイントの作成ができます。

カスタム処理を利用することのメリット

カスタム処理を利用することで、APIエンドポイントの標準機能だけでは実現が難しい処理を自由に追加できます。そのため、様々なユースケースに柔軟に対応できます。

例として、下記対応が可能です。

  • リクエスト/レスポンス内容を変更する
  • APIへの処理をフックする
  • 独自のセキュリティ制御を実装する

このチュートリアルでは、カスタム処理とエンドポイントを紐付ける方法を紹介します。

GETエンドポイントとカスタム処理を作成する

まずはGETエンドポイントの例を紹介します。
ここでは例として、PlainCustomFunctionという名前のカスタム処理をAPIエンドポイントと紐付けます。

GETエンドポイントを作成する

カスタム処理と紐づけるためのエンドポイントを作成します。

エンドポイント一覧画面より、[新しいエンドポイントの追加]をクリックします。

Image from Gyazo

今回は下記のように作成しました。

Image from Gyazo

設定項目設定
パスplain-custom-endpoint
有効/無効有効
モデルカテゴリーAPI
モデルApi、v1
オペレーションrequest_api
サマリー(任意)PlainCustomFunction
注:わかりやすい名前を記載してください。後に作成するカスタム処理名の記載を推奨します。
ディスクリプション(任意)PlainCustomFunctionと紐づくGETエンドポイントです。
注:わかりやすい説明を記載してください。カスタム処理の意図/機能の記載を推奨します。
基本設定namePlainCustomFunction
注:後に作成するカスタム処理のslugを指定します。

GETエンドポイント用のカスタム処理を作成する

次に、作成したGETエンドポイント用のカスタム処理を作成します。

カスタム処理一覧画面より、[追加]をクリックします。

Image from Gyazo

下記の設定で作成します。

Image from Gyazo

項目説明
タイトルPlainCustomFunction
カテゴリ未分類
識別子PlainCustomFunction
処理下記ソースコードの内容を記載してください。
ステータス有効
ソースコード
{* シンプルなダミー文字列を返します。 *}
{capture name=data}
{literal}
    response text
{/literal}
{/capture}
{assign var=data value=$smarty.capture.data}

GETエンドポイントの動作確認をする

それでは、作成したエンドポイントの動作確認をします。 今回はSwaggerUI画面から確認します。

エンドポイント一覧画面より、[Swagger UI]をクリックします。

Image from Gyazo

先ほど作成した、plain-custom-endpointをクリックします。

Image from Gyazo

[Try it out]をクリックします。

Image from Gyazo

[Execute]をクリックします。

Image from Gyazo

すると、Response bodyにカスタム処理で作成した内容が表示されていることが確認できます。

Image from Gyazo

以上で、GETエンドポイントとカスタム処理の紐付け完了です。

POSTエンドポイントとカスタム処理を作成する

次に、POSTエンドポイントの例を紹介します。 ここでは例として、PlainCustomFunctionPostという名前のカスタム処理を作成することとし、サマリー/ディスクリプションに説明例を記載しています。

POSTエンドポイントを作成する

カスタム処理と紐づけるためのエンドポイントを作成します。

エンドポイント一覧画面より、[新しいエンドポイントの追加]をクリックします。

Image from Gyazo

今回は下記のように作成しました。

Image from Gyazo

設定項目設定
パスplain-custom-endpoint-post
有効/無効有効
モデルカテゴリーAPI
モデルApi、v1
オペレーションrequest_api_post
サマリー(任意)PlainCustomFunctionPost
注:わかりやすい名前を記載してください。後に作成するカスタム処理名の記載を推奨します。
ディスクリプション(任意)PlainCustomFunctionPostと紐づくPOSTエンドポイントです。
注:わかりやすい説明を記載してください。カスタム処理の意図/機能の記載を推奨します。
基本設定namePlainCustomFunctionPost
注:後に作成するカスタム処理のslugを指定します。

POSTエンドポイント用のカスタム処理を作成する

次に、作成したPOSTエンドポイント用のカスタム処理を作成します。

カスタム処理一覧画面より、[追加]をクリックします。

Image from Gyazo

下記の設定で作成します。

Image from Gyazo

項目説明
タイトルPlainCustomFunctionPost
カテゴリ未分類
識別子PlainCustomFunctionPost
実行内容下記ソースコードの内容を記載してください。
ステータス有効
ソースコード
{* シンプルなダミー文字列を返します。 *}
{capture name=data}
{literal}
    response text
{/literal}
{/capture}
{assign var=data value=$smarty.capture.data}

POSTエンドポイントの動作確認をする

それでは、作成したエンドポイントの動作確認をします。 今回はSwaggerUI画面から確認します。

エンドポイント一覧画面より、[Swagger UI]をクリックします。

Image from Gyazo

先ほど作成した、plain-custom-endpoint-postをクリックします。

Image from Gyazo

[Try it out]をクリックします。

Image from Gyazo

[Execute]をクリックします。

Image from Gyazo

すると、Response bodyにカスタム処理で作成した内容が表示されていることが確認できます。

Image from Gyazo

以上で、POSTエンドポイントとカスタム処理の紐付け完了です。

カスタム処理の実装例について

以上でカスタム処理とAPIエンドポイントの紐付け方法の紹介を終わります。 このチュートリアルではシンプルに紐付けの方法のみの説明にとどめましたが、カスタム処理の実装についてもっと詳しく知りたい場合は、下記ユースケース別のチュートリアルを参照してください。

お探しのページは見つかりましたか?解決しない場合は、問い合わせフォームからお問い合わせいただくか、Slackコミュニティにご参加ください。