2012-03-16 35 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