【发布时间】:2015-05-01 18:15:43
【问题描述】:
我正在阅读关于bulding 和consuming Spring Rest web 服务的两篇介绍性文章。
奇怪的是——他们在客户端应用程序(第二个链接参考)中创建了一个 Greeting 表示类,用于存储 GET 响应(服务器端的 greeting 方法返回一个 Greeting 对象)。但是服务器端和客户端的Greeting 类是不同的类——嗯,它们是两个不同的类,具有相同的名称、相同的字段名称和类型(客户端没有构造函数)。
这是否意味着在构建客户端应用程序时我必须类似地从 stratch 重写类?为了做到这一点,我需要关于服务器应用程序传递的 JSON 打包对象的字段类型是什么的规范。服务器将 ABCClass 类的对象序列化为 JSON 并将其发送给客户端。即使某个名为“abc”的字段的值为 10,它也不会使其成为整数。下次它可能包含一个字符串。
我的问题是 - 为了创建客户端应用程序,我需要从服务器应用程序的开发人员那里获得多少信息?一般是怎么做的?
【问题讨论】:
-
Greeting 可能只是客户端和服务器之间通信的一个对象,所以你有没有构造函数都没关系,除非你的序列化库需要一个
-
我问了一些别的事情。在服务器端,有一个 greeting 方法返回一个 Greeting 类型的对象(它有字段 id 和 content)。然后将其转换为 JSON 并通过 http 传递给客户端。客户端接收到 http 并使用 getforobject 方法创建对象。请注意,服务器和客户端代码中的 Greeting 类是不一样的!我可以在客户的应用程序中将其名称更改为任何名称,它仍然可以工作。我在问客户端的 Greeting 类中的字段名称和类型是否必须与服务器的 Greeting 类中的相同才能正常工作?
-
如果是这样,我需要服务器的“问候”类字段的确切类型和名称来创建工作客户端的表示类。我想我的问题已经说得很清楚了。