オリジナル処理と紐づいたAPIエンドポイントを作成する

Kurocoではオリジナル処理と紐づいたエンドポイントの作成ができます。

オリジナル処理を利用することのメリット

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

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

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

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

GETエンドポイントとオリジナル処理を作成する

まずはGETエンドポイントの例を紹介します。
ここでは例として、PlainCustomFunctionという名前のオリジナル処理をAPIエンドポイントと紐付けます。

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

オリジナル処理と紐づけるためのエンドポイントを作成します。

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

Image (fetched from Gyazo)

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

fetched from Gyazo

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

GETエンドポイント用のオリジナル処理を作成する

次に、作成したGETエンドポイント用のオリジナル処理を作成します。

オリジナル処理一覧画面より、[追加]をクリックします。

fetched from Gyazo

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

fetched from Gyazo

項目説明
タイトルPlainCustomFunction
カテゴリ未分類
slugPlainCustomFunction
実行内容下記ソースコードの内容を記載してください。
公開設定すぐに公開する
ソースコード
{* シンプルなダミー文字列を返します。 *}
{capture name=data}
{literal}
    responce text
{/literal}
{/capture}
{assign var=data value=$smarty.capture.data}

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

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

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

fetched from Gyazo

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

fetched from Gyazo

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

fetched from Gyazo

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

fetched from Gyazo

すると、Response bodyにオリジナル処理で作成した内容が表示されていることが確認できます。

fetched from Gyazo

以上で、GETエンドポイントとオリジナル処理の紐付け完了です。

POSTエンドポイントとオリジナル処理を作成する

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

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

オリジナル処理と紐づけるためのエンドポイントを作成します。

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

Image (fetched from Gyazo)

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

fetched from Gyazo

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

POSTエンドポイント用のオリジナル処理を作成する

次に、作成したPOSTエンドポイント用のオリジナル処理を作成します。

オリジナル処理一覧画面より、[追加]をクリックします。

fetched from Gyazo

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

fetched from Gyazo

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

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

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

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

fetched from Gyazo

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

fetched from Gyazo

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

fetched from Gyazo

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

fetched from Gyazo

すると、Response bodyにオリジナル処理で作成した内容が表示されていることが確認できます。

fetched from Gyazo

以上で、POSTエンドポイントとオリジナル処理の紐付け完了です。

オリジナル処理の実装例について

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

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