0

我用 Play 2.2.0 开发了一个 REST API。一些控制器公开 GET 方法,其他公开带有身份验证的 POST 方法等......

我也使用 Play 开发了客户端,但我遇到了问题。如何避免在两个应用程序之间复制模型层?

  • 在服务器应用程序中,我有一个模型国家(代码、名称)。
  • 在客户端中,我可以列出国家并创建新国家。

目前,我在双方都有一个班级国家。当我得到国家时,我将它们反序列化。问题是如果我在服务器的 Country 中添加一个字段,我还必须维护客户端。

如何在应用程序之间共享 Country 实体?

PS:我不想在 API 和客户端之间创建依赖关系,因为客户端可能是用另一种语言或框架开发的

谢谢

4

2 回答 2

0

好吧,我建议向客户端发送他们应该显示的模板,在带有 js 的客户端上利用 js 模板框架,所以你可以告诉客户端如何显示它们,动态的......如果他们想覆盖它们嗯...更多的工作

我们可以称它们为面向 Rest 组件...

很好的建议:)

应该有效!

于 2013-11-11T21:19:51.160 回答
0

这不是非常具体的游戏框架,而是一个普遍的问题。您可以在协议中创建可重用的数据表示(您在节点之间发送的实际数据结构),并获得表示和语言的紧密耦合。许多项目都这样做,因为他们知道他们将在他们的架构中拥有相同的平台。

另一种选择是复制所有或仅复制架构每个部分所需的解析/生成部分,这样您可以获得更松散的耦合,并且可以在不同部分使用任何语言。

还有一些数据协议/工具将以协议特定的方式表示,然后可以生成各种编程语言的表示。

如您所见,这都是关于利弊的——这两种解决方案都不是“正确的方法(tm)”,您必须考虑您的特定系统/架构以及哪些优点最有价值,哪些缺点最昂贵给你。

于 2013-11-05T13:30:56.550 回答