サーバーが REST のみをサポートしている状態で、Breeze js をクライアント側でのみ使用できますか? その理由は、Breeze のクライアント側のデータ取得と管理を利用したいからです。サーバー側は既に完全に開発されています。
質問する
1089 次
1 に答える
2
はい。ただし、クライアントまたはサーバーで Breeze メタデータを提供する必要があります。もちろん、「where」、「take」、「skip」などの EntityQuery.method は使用できません。 Breeze サンプルには、任意の REST API と対話する「Edmunds」サンプルが含まれています。ここに抜粋:
var serviceName = "http://api.edmunds.com/v1/api/"; // edmunds
var ds = new breeze.DataService({
serviceName: serviceName,
hasServerMetadata: false,
useJsonp: true,
jsonResultsAdapter: jsonResultsAdapter
});
var entityManager = new breeze.EntityManager({dataService: ds});
var q = EntityQuery.from("vehicle/makerepository");
// this will call -> "http://api.edmunds.com/v1/api/vehicle/makeRespository"
myEntityManager.executeQuery(q).then(...);
API がパラメーターをサポートしている場合は、 EntityQuery.withParametersメソッドを使用することもできます (「純粋な」REST に加えて、またはその代わりに)。つまり、次のようなものです:
var makeId = "Ford xxx";
// will send (approx) -> "http://api.edmunds.com/v1/api/vehicle/modelRespositoryfindByMakeId?makeId=Ford xxx"
var query = breeze.EntityQuery
.from("vehicle/modelrepository/findbymakeid")
.withParameter( { makeId: makeId };
これらのルートのいずれかを使用する場合は、Metadata と JsonResultsAdapter に関する Breeze ドキュメントも参照してください。(そして Edmunds のサンプルを見てください)。
お役に立てれば。
于 2013-06-20T17:56:13.200 に答える