使用Android的自定义请求方法

时间:2012-03-16 18:00:49

标签: android httprequest

在开发API时,需要提供对API(开发人员)的使用者有意义的自定义请求方法。根据{{​​3}},“标准”请求方法集是:

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

我想添加另一个名为SEARCH的内容。在API上,使用PHP或Java,这很容易在PHP中实现。对于Android 和iOS 开发者而言,这种新请求方法的使用被证明是一个挑战。

工作:

  • Javascript [通过JQuery或XDomainRequest工作]
  • Java [通过HttpUrlConnection工作]
  • PHP [通过cURL工作]:

工作示例:

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

不工作:

  • <击> RFC-2616
  • Android [我的假设是,如果我有一个可用的Java示例,这应该可以正常工作]

是否有人对支持自定义请求方法的工作示例或框架有任何引用,例如SEARCHFOOBAR

亲切的问候

1 个答案:

答案 0 :(得分:1)

在Android中,如果您使用捆绑的Apache Httpclient库,则可以通过扩展HttpRequestBase来创建自定义HTTP方法。实际上,此库中所有标准HTTP方法(HttpGetHttpPost等)的类都来自同一个类。

如果您的SEARCH方法与任何现有方法非常相似,则可以直接扩展该类。例如,出于说明的目的,我们假设它非常接近GET方法。然后,您可以创建一个扩展HttpSearch的类HttpGet,然后通过覆盖适当的方法来自定义实现。

准备好HttpSearch实施后,使用它类似于使用标准HttpGet类:

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