Breeze js可以只在客户端使用,而服务器只支持REST吗?原因是我想利用Breeze的客户端数据检索和管理,而服务器端已经完全开发出来了。
发布于 2013-06-21 01:56:13
是的,需要注意的是,您仍然需要在客户端或服务器上提供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(...);如果你的应用程序接口支持参数,你也可以使用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 };如果您使用这两种方法中的任何一种,请参阅有关元数据和JsonResultsAdapter的微风文档。(请看Edmunds示例)。
希望这能有所帮助。
https://stackoverflow.com/questions/17215338
复制相似问题