我正在努力理解如何定义一个允许返回可以在客户端上强制转换为真实对象的泛型类型的WSDL。例如,我有一个返回类型Object用于4种不同的方法调用。调用时,4种不同的方法具有不同的参数对象。 (例如CreatePerson(Person),CreateAnimal(Animal)等...)每个返回一个ResultObject有一个“Object”属性,该属性将包含操作对象参数。 (例如CreatePerson(Person)将返回ResultObject.Object = Person,返回的Person对象将具有更新的属性,如ID,某个时间戳等...)
我应该为每个对象都有一个Result对象吗? (例如ResultPerson = CreatePerson(),ResultAnimal = CreateAnimal()等......)
我必须在编码之前布局API,所以感谢任何建议!
答案 0 :(得分:1)
我应该为每个对象设置一个
Result
对象吗? (例如ResultPerson = CreatePerson()
,ResultAnimal = CreateAnimal()
等......)
绝对!没有什么比必须处理返回通用Object
的API的强类型语言更令人恼火的了。对于使您的API 非常难以使用的价格几乎没有任何好处。
不要为类的扩散感到不安。毕竟,它们是由wsdl2
之类的工具创建的 - 例如wsdl2java
)。如果您的所有结果都有一些共同的属性,请考虑使用一个抽象基类型(例如Animal
)并进行扩展。这将使您的API更加出色。