1

サーバーが REST のみをサポートしている状態で、Breeze js をクライアント側でのみ使用できますか? その理由は、Breeze のクライアント側のデータ取得と管理を利用したいからです。サーバー側は既に完全に開発されています。

4

1 に答える 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 に答える