2011-03-08 42 views
2

我一直在試圖找到一種方法來實現RESTful Web服務,然後從Android REST客戶端使用此服務。原因是Android本質上只支持使用RESTful Web服務。爲什麼Android的REST API能夠直接連接到GAE Web應用程序?

但是,當我遇到這個web site時,我完全糊塗了!作者正在使用org.apache.http.client API連接到由Google App Engine構建的Web應用程序。我測試了它,它工作!

但是,據我瞭解,Google App Engine不是RPC風格的Web服務嗎?是否需要外部庫(如Restlet)轉換爲REST風格的Web服務?爲什麼Android的REST API能夠直接連接到GAE Web應用程序?

有人可以解釋這一點給我嗎?

回答

1

Google App Engine只是一個Web應用程序服務器。只要框架只使用GAE的JRE White List中的類,那麼它應該可以在服務器上使用。這包括彈簧mVC,澤西島,Restlet和其他工具在這list。對於我的一個Android應用程序,我使用GAE服務器通過Spring MVC運行RESTful Web服務,並且效果很好。

+0

謝謝羅比,我有你的想法。但是我再次提到的例子只是使用最簡單的GAE實現,一個java servlet。爲什麼Android應用程序仍然能夠訪問它?我剛纔明白了,org.apache.http.client實際上是一個可以進行http調用的原始http客戶端,那麼Android的內在意義是什麼,它本質上只支持RESTful Web服務?使用http客戶端,我總是可以訪問http服務,無論它是RPC還是RESTful。因此,這裏有什麼意義? – lixiang 2011-03-08 14:27:18

+0

由於Android SDK包含HttpClient/java.net類,因此您可以通過http訪問任何服務器。服務器的類型無關緊要。當它涉及到它時,你只是要求數據。他們將數據發送給客戶的方式並不重要。 Android與REST無關,REST只是一種架構風格。 – 2011-03-08 14:34:22

+0

我明白REST只是一種架構風格。但是,我一直都在看人們討論的事實,即android sdk沒有提供SOAP API,而是一個REST API,如果你想使用SOAP,你得去做一些類似「KSOAP2」的事情。我認爲很清楚HttpClient/java.net與REST無關。那他們指的是什麼? – lixiang 2011-03-08 14:47:38

相關問題