java - 构建供多个平台使用的 Web 服务 - 我应该使用什么格式?

标签 java php .net web-services node.js

我们正在寻求创建一个网络服务来为单个数据存储上的无状态数据事务提供功能。该服务将由运行多个潜在环境的应用程序使用 - 至少是 windows .net、php 和 java,但可能更多。

用于来回传递数据的最佳格式是什么? “最佳”我认为是易于消费和强类型内容之间的最佳格式。一方面,SOAP 告诉您关于该服务您需要知道的一切,但需要在客户端进行大量处理才能解析。另一方面是 JSON,因为它的格式极简且易于解析,但显然客户端需要非常清楚它应该期待什么数据。

这些解决方案中的一个会比另一个更理想吗?是否有其他格式需要考虑?

作为后续,您可以推荐哪些框架来在服务器端实现格式?我们的服务器操作系统是 linux,因此 php 或 java 将是首选解决方案,但也可以考虑使用 node.js 等替代平台。 .NET 世界中的 WCF 之类的东西是理想的,因为您可以编写一次业务逻辑,然后让表示框架同时以多种格式提供它。

最佳答案

正如@WhiteFang34 推荐的那样,REST 是一种非常易于访问的协议(protocol)。尽管它不是标准,但它在大多数现代编程语言中得到广泛使用和详细记录。

REST 仅仅定义了每个 HTTP 方法应该做什么,但是您仍然需要决定使用什么格式。 JSON 和 XML 是最受欢迎的,但根据我的经验 JSON在大多数情况下使用起来要容易得多。

关于java - 构建供多个平台使用的 Web 服务 - 我应该使用什么格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5711331/

相关文章:

php - mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows等…期望参数1为资源或结果

.net - WIX 相对路径最终变得太长

c# - CreateDocumentQuery 不绑定(bind)到 CLR 对象

java - Spring JMS开始根据请求监听jms队列

java - Amazon Lex AWS Lambda 钩子(Hook)的 Jackson JSON 反序列化

java - 使用反射获取构造函数(或方法)参数注释

javascript - 解析下拉到下一页中的选定值

php - 将控制台输出重定向到浏览器

c# - 如何确定属性是否是具有反射的自动实现属性?

java - Jedis 池被多次初始化