4D 20 R5 では、シングルトンが導入されました。そして、4D 20 R6 では、REST 呼び出しを通して、共有シングルトンの公開関数を直接呼び出すことができるようになりました。同様に、Qodly Pagesのイベントで共有シングルトンの公開された関数を使用することができます。これらの新機能をさらに掘り下げてみましょう。
ここでは、特定のデータクラスと紐付いていない RESTサービスを作りたい場合を考えます。
簡単です!
まず、REST で呼び出せる、公開された関数を持つ共有シングルトンを作成しましょう:
// mySingleton クラス
shared singleton Class constructor()
exposed Function myFonction($value : Integer)
// コード
次にカタログを確認するため、myServer/rest/$catalog/$all によって返される JSON をチェックしてみましょう。先ほど作成したシングルトンが、その公開された関数とともに返されてるのが見てとれます:
"singletons": [
{
"name": "mySingleton",
"methods": [
{
"name": "myFonction",
"allowedOnHTTPGET": false,
"exposed": true
}
]
}
],
これで、myServer/rest/$singleton/mySingleton/myFonction に RESTコールをおこなって、公開関数を直接実行できるようになりました。
もちろん、roles.jsonファイルで権限を設定することで、特定の関数やシングルトンへの呼び出しを制限することもできます。
Qodly の場合、話はさらに簡単です。イベントを設定する際、他のデータクラスの公開関数と同じように、共有シングルトンが公開する関数を選択することができます:

Qodly Studio では共有シングルトンがカタログ内に表示され、その公開関数をイベントに割り当てることができます。
また、権限画面でシングルトンやその公開関数を実行する権限を設定できます:

Qodly Studio のロールと権限のページでは、シングルトンのアクセス権を設定することができます。
シングルトンで実行できることの簡単な例題は、シングルトンのHDI をご確認ください。
これら 2つの機能のサポートで、シングルトンが使いやすくなれば幸いです。
ご意見やご感想がありましたら、遠慮なくフォーラムにお寄せください!
現在、この投稿へのコメント機能は利用できません。