【发布时间】:2015-08-14 14:43:37
【问题描述】:
有没有人使用来自https://github.com/Breeze/breeze.server.java 的最新Breeze.java.server 代码以及最新的客户端BreezeJS 库?
从https://breezejs.uservoice.com/forums/173093-1-breezejs-feature-suggestions/suggestions/7563522-which-libraries-for-java-on-github这个帖子看来,应该使用 Json-UriBuilder 分支,但它似乎与客户端生成的查询参数不兼容。
例如,客户端生成的“where”子句是“$filter=propertyname eg value”,但在服务器端,EntityQuery 从不寻找“过滤器”参数,即使是它也不会构建一个有效的查询,因为这不是有效的 JSON。
推荐的库组合和/或解决上述问题的方法是什么?
【问题讨论】:
-
想要评论我们已经通过向客户端的 .where() 函数提供有效的 JSON(即 where({clientId: 1}))来解决这个问题。这将创建一个查询参数将在服务器端 EntityQuery 中有效。在服务器端,我们在尝试创建 EntityQuery 之前解析查询参数。如果参数键是“$filter”,我们将其更改为“where”,这是 EntityQuery 所期望的。
-
感谢您的解决方法。如果您看到 Steve Schmitt 的回答,它解决了问题,并且使用 Breeze java 服务器项目 (github.com/Breeze/breeze.server.java) 的 JSON Uri Builder 版本实际上非常方便。