我在一个项目中使用客户端 - 服务器通信通过rest API,Angular 2调用restful web服务,具体。在客户端,它是用Typescript编写的,这是一个javascript的子集。
我的问题是我们在服务器端的对象是嵌套的,复杂的,并且在收到响应时(JSON对象)很难在客户端完全建模/反序列化
我的问题是:
我是使用休息的Web应用程序的新手,所以如果你们能指导我,我非常感谢你们。
让我回答第3个问题。我为一个小项目开发了微服务架构,并遇到了同样的问题。可以在服务器端或客户端实现逻辑。
一方面,服务器可以返回简单的普通对象,另一方面可以返回包含所有必需的嵌套和处理数据的对象。
在第一种情况下,客户端应该向服务器发出更多查询以收集所有嵌套数据。客户端应该更复杂,并且可以预见在一系列请求期间可以更改服务器数据的所有情况(保持数据的一致性)。但它确实简化了服务器实现 - 它可能只是一系列CRUD存储库。它甚至可以通过底层数据库自动生成服务器。
在第二种情况下,服务器返回复杂的嵌套对象。它允许简化客户端,因为JSON反序列化对于现代框架来说非常简单。它减少了对服务器的查询次数。如果客户端可以在一个查询中拥有所有必要的数据 - 这很好。
在这两种情况下,业务逻辑都应该在某个地方实现。我投票支持简单的客户端并隐藏服务器端的复杂性。最后,一台服务器可能是几个客户端。这就是复杂服务器比复杂客户端更有益的原因。