今日はroutingのカスタム設定の解説を書きたいと思います。
requests
の配列は上から順番に実行されていきます。
今回は下記の設定値をroutingに設定します。
{
"home": {
"requests": [
{
"type": "custom",
"class": "api.HomeText",
"access": "static",
"method": "get"
}
]
}
}
次に、src/model/api
にHomeText.jsを作成します。
/**
* @class
* @extends {next2d.fw.Model}
*/
export class HomeText extends next2d.fw.Model
{
/**
* @return {Promise}
* @static
*/
static get ()
{
return fetch(`${next2d.fw.config.api.endPoint}api/home.json`)
.then((responce) => { return responce.json() })
.catch((error) => { console.error(error) });
}
}
サンプル設定
プロパティ | 値 |
---|---|
type | custom |
class | api.HomeText |
access | static |
method | get |
class
src/model
に設置したクラスはディレクトリ階層を.
として分解され、next2d.fw.packages
に登録されます。src/model/api/HomeText.js
にアクセスするにはapi.HomeText
とする事でアクセス可能です。
access
static
かpublic
を設定する事ができます。static
はClass.method()
で、public
はnew Class().method()
をコールします。
method
コールする関数名を設定できます。今回はget
っという関数をコールする設定をしていますので、HomeText.get()
がコールされます。もしpublic
とした場合はnew HomeText().get()
がコールされます。
name設定の役割
requests
のname
を設定するとnext2d.fw.response
にレスポンスデータが格納されます。後続のリクエストでレスポンスデータを使用したい場合は、next2d.fw.response.get(name)
とすることでレスポンスデータを取得する事ができます。例えば、後続処理でQueryStringもしくは、POSTで送信などした場合に役立つのではないかと思います。
cacheの特性
また、requests
のcache
をtrue
にすると、初回だけリクエストを送り、以後はキャッシュの値を再利用します。next2d.fw.cache
のMapオブジェクトに格納されますので、値参照であるJSの特性的に、キャッシュのオブジェクトデータを書き換えた物がnext2d.fw.cache
に格納され続けます。
カスタム機能を利用する事で、Auth認証や外部APIとの連携をスムーズに行う事ができます。
明日はNoCode Tool
との連携を紹介したいと思います。