親リソースと子リソースの 2 つのリソースを公開する REST サービスにアクセスしています。
/users
/users/{userId}/account
したがって、リソース「アカウント」はリソース「ユーザー」内にネストされていないため、2 番目のリクエストでアクセスする必要があります。このような REST API の例があります。
これらのモデルを使用して、ユーザーとそのアカウントを Ext Js 4 データ モデルにマッピングします。
ユーザー
Ext.define("MyApp.model.User", {
extend: "Ext.data.Model",
fields: [ { name: "id", type: "string" }],
associations: [{
model: "MyApp.model.Account",
name: "account",
type: "hasOne",
reader: "json",
getterName: "getAccount",
setterName: "setAccount",
foreignKey: "accountId"
}
],
proxy: {
type: "rest",
url: "/rest/users",
reader: {
type: "json",
totalProperty: "total",
root: "users"
}
}
});
アカウント
Ext.define("MyApp.model.Account", {
extend: "Ext.data.Model",
fields: [ { name: "id", type: "string" }],
belongsTo: "MyApp.model.User",
proxy: {
type: "rest",
reader: { type: "json"}
}
});
アカウント プロキシには URL がありません (これが親ユーザー モデルに基づいて作成されることを望んでいました)。user.getAccount() を呼び出すと、プロキシに URL がないため、例外が発生します。
質問: Ext Js が /users/{userId}/account にアクセスするようにモデルをセットアップする方法はありますか?