動的なパラメーターを含むAPIを作成する
次は、より動的なAPIを作成してみましょう。先ほどは完全に静的なURIでしたが、今回はURIの中に社員番号を埋め込み、社員を動的に指定できるようにします。具体的には、次のようなフォーマットでアクセスできるAPIを作成します。
http[s]://[あなたのドメイン]/apex/employee/[社員番号]
先ほど作成した社員モジュールの中に新しいURIテンプレートを作成するため、「Create Template」をクリックします。
「URI Template」に「employee/{employeeId}」を指定します。波括弧で指定した文字列はバインド変数と呼ばれ、URIの中でこの部分が動的に指定されることを示しています。そして後に設定するクエリーの中で値を参照することができるようになります。これで[Create]ボタンをクリックします。
URIテンプレートが作成されたら、ハンドラーを作成するために「Create Handler」をクリックします。
そして、次のようにハンドラーの詳細を設定します。
- Method
- 今回も情報を取得するAPIなので「GET」とします。
- Source Type
- 今回は1行だけ取得するAPIコールなので「Query One Row」とします。
- Source
- URI Templateで指定した{employeeId}をキーとして社員を検索するSQL文を下記のように設定します。
select * from em where empno = :employeeId
上記のとおりに設定したら、[Create]ボタンをクリックしてハンドラーを作成します。作成できたら、次のようにempテーブル内に存在する社員番号を指定して、アクセスしてみてください[4]。
http[s]://[あなたのドメイン]/apex/employee/7839
注
[4]: URLの「7839」が社員番号です。ご自身の環境に存在するものに置き換えてください。
次のように、JSONフォーマットのデータが返されれば成功です。