我想创建某种类型的web API (我对协议没有偏好),其中服务器使用Java,客户端使用PHP。
我希望请求和响应都是对象(类的实例,而不是JSON样式的散列)。对象的字段可以是原始类型或其他对象。我将在客户端和服务器代码中定义所有必需的类。PHP和Java有相似的对象模型,所以用这两种语言编写相应的类应该不难。
要实现这一点,需要有一些自动化的方法来序列化一个对象,而在另一端反序列化它。它需要知道哪个PHP类映射到哪个Java类,以及如何转换字段。我可以写一些东西,但是有没有像这样传输对象的现有协议?这可以通过SOAP实现吗?
发布于 2011-11-05 03:56:25
Java和PHP对象不能互换。您必须定义两端的对象类型,传输协议可以是您喜欢的任何类型。
对于类似记录的对象:{"_type":"MyCoolObjectType","a":1,"b":2,"c":3"}
如果你想写一次,然后到处使用,我建议你在两端使用相同的语言,否则你必须有一个可以在你选择的语言之间进行翻译的编译器。
发布于 2011-11-05 04:02:41
只要请求/响应不是很复杂,SOAP web服务就可以处理基本的抽象。您可以在java中创建类,然后让API为它们导出WSDL。
发布于 2011-11-05 04:06:53
用于序列化的PHP格式和格式是不同的,因此不兼容。您需要一种通用的交换格式,我建议您不要使用PHP的格式。但是,在PHP中序列化的函数相当简单,如果您选择使用它,这些函数包含在PHP源代码的ext/standard/var.c文件中。
查看以下内容:
类似的问题
来自 的(重点是我的):
虽然XML的设计侧重于文档,但它被广泛用于表示任意数据结构,例如在web服务.
中。
https://stackoverflow.com/questions/8014843
复制相似问题