2012-03-16 38 views
4

在開發API時,需要提供對API(開發人員)的使用者有意義的自定義請求方法。 「標準」 設定的請求方法,因爲每RFC-2616是:使用Android的自定義請求方法

  • GET
  • PUT
  • POST
  • DELETE
  • TRACE
  • CONNECT

我想添加另一個,稱爲SEARCH。在API上,使用PHP或Java,這很容易在PHP中實現。這種新的請求方法的消耗對於Android 和iOS 開發者來說是一個挑戰。

工作:

  • 的Javascript [通過JQuery工程或XDomainRequest]
  • 爪哇[經由HttpURLConnection的工作原理]
  • PHP [經由捲曲工作]:

工作實施例:

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'SEARCH'); 

不工作:

  • iOS
  • 的Android [我的假設是,這應該正常工作,如果我有一個工作Java示例]

有沒有人有任何引用工作示例或框架將支持自定義請求方法,如SEARCHFOOBAR

親切的問候

回答

1

在Android中,如果使用綁定的Apache HttpClient庫,你可以創建通過擴展HttpRequestBase自定義HTTP方法。實際上,這個庫中的所有標準HTTP方法(HttpGet,HttpPost等)的類都是從同一個類擴展而來的。

如果您的SEARCH方法與任何現有方法非常「相似」,則可以直接擴展該類。例如,爲了說明的目的,我們假設它非常接近GET方法。然後,您可以創建一個類HttpSearch,該類延伸HttpGet,然後通過覆蓋適當的方法來自定義實現。

一旦你有你HttpSearch實現準備好了,使用它是類似於使用標準HttpGet類:

HttpClient client = new HttpClient; 
//... 
//... 
HttpSearch search = new HttpSearch; 
//... 
client.execute(search); 
+0

雖然這是極好的機器人,並證實了我一直懷疑 - 是尋找一個解決方案/爲iOS和Android提供答案。 – sdolgy 2012-03-26 09:11:08