1

Breeze js 可以仅在客户端使用,服务器仅支持 REST 吗?原因是我想利用 Breeze 的客户端数据检索和管理,而服务器端已经完全开发。

4

1 回答 1

2

是的,需要注意的是,您仍然需要在客户端或服务器上提供 Breeze 元数据,当然,您将无法使用任何 EntityQuery.methods,例如“where”、“take”、“skip” '、'orderBy' 等。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 支持参数(除了“纯”REST 之外或代替“纯”REST),您还可以使用EntityQuery.withParameters方法。即类似的东西:

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 };

如果您要走这些路线中的任何一条,请参阅有关元数据和 JsonResultsAdapter 的 Breeze 文档。(并查看 Edmunds 示例)。

希望这可以帮助。

于 2013-06-20T17:56:13.200 回答