我正在启动一个web项目,我希望有一个RESTful Java后端和一个PHP前端来使用它(这是我第一次使用REST,尽管我有很多Java和PHP的经验)。我已经找到了一些框架,即Guzzle PHP框架和Restlet Java框架。现在我的问题是,我是否走在正确的道路上。对于这个系统,你还有什么其他的技术可以推荐的吗,或者还有什么我应该看看的吗?我想我想使用Jetty或Tomcat作为服务器运行rest,和正常的Apache为PHP。
最后,我想知道当涉及到REST时,每个传输协议的优点/缺点是什么。我在XML和JSON之间摇摆不定。任何想法/链接将不胜感激。谢谢!
对于web服务,可以使用SOAP和REST。休息最近更流行,也更容易,所以这是一个好的开始。您可以为REST选择多个提供者
- CXF restful
- Restlet
- 球衣
- 春休息
前三个都使用相同的Jax-RS标准,如果你不喜欢实现,你可以很容易地切换到另一个。我们广泛使用CXF,从来没有遇到过问题。春天是不同的,但如果你无论如何都要用春天,也很好。
对于服务器,Jetty和Tomcat是两个主要的轻量级容器。Jetty更轻,但说实话,性能上并没有太大的差异,特别是对于一个简单的web应用程序
如果你使用PHP和Java, JSon或XML也不那么重要。可能JSON更紧凑,因此网络流量会更少,但不是很明显。以上所有REST提供程序都支持开箱即用。我对XML和JSON的两难处境的看法。在PHP或Javascript客户端上,我通常更喜欢JSON,因为它便于序列化/反序列化,而且顾名思义,它的表示法是用Javascript创建的。另一方面,对于XML,您可以在服务器端使用诸如JAXB之类的实用程序。
朋友使用Restlet与Jetty的效果很好,但我没有第一手的经验来分享。
祝你好运
当客户端是Javascript时,JSON非常适合,因为它很容易将响应转换为Javascript对象:
var response = eval('(' + jsonResponse + ')');
我推荐使用Jersey框架在Java中编写RESTful web服务。