【发布时间】:2013-06-05 12:08:09
【问题描述】:
我有一个关于最佳做法的问题。假设我有一个返回员工 ID 和员工姓名的 Web 方法。现在,由于我是 Web 服务的新手,我们(客户端(C#)和我(Java))同意返回类型 List<String> 和字符串格式是 employee id,employee name。到目前为止一切都很好。程序运行并完成工作。
现在,前几天,我正在与另一位开发人员讨论返回类型,她建议我返回数据的方式不正确,而是我应该返回 XML 格式的字符串,这样典型的输出可能看起来像(这里没有格式),
<root><employee><employeeId>1234</employeeId><employeeName>firstname lastname</employeeName></employee></root>
我认为,在这种情况下,您将 50% 以上的非数据(XML 标记)返回给客户端,这是不必要的,并且会浪费带宽并增加开销。她反驳说,在不明显的情况下,例如,用户无权访问某些内容或没有什么可返回但错误代码或服务器上出现问题,即当您需要返回实际数据本身以外的其他内容时, XML 字符串很有帮助,因为您可以插入标签。这是一个有效的论点,所以对 Web 服务有良好经验的人可以在这里解释一下吗?
【问题讨论】:
-
我建议不要使用这些方法。为了获得更轻松的体验,请改用 RESTful 服务,也就是说,返回将是 JSON 格式的字符串,易于从生产者编写并在消费者端进行解释。更多信息:Representational state transfer
标签: java xml web-services return-type