【问题标题】:Consuming Custom Request Methods with Android使用 Android 使用自定义请求方法
【发布时间】:2012-03-16 18:00:48
【问题描述】:

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

  • 获取
  • 发布
  • 删除
  • 追踪
  • 连接

我想添加另一个,名为SEARCH。在 API 上,使用 PHP 或 Java,这在 PHP 中很容易实现。事实证明,这种新请求方法的使用对于 android 和 iOS 开发人员来说是一个挑战。

工作:

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

工作示例:

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

不工作:

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

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

亲切的问候

【问题讨论】:

    标签: android httprequest


    【解决方案1】:

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

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

    一旦您准备好您的HttpSearch 实现,使用它类似于使用标准HttpGet 类:

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

    【讨论】:

    • 虽然这对 android 来说非常好,并且证实了我的怀疑——正在寻找适用于 iOS 和 Android 的解决方案/答案。
    猜你喜欢
    • 2012-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-11
    • 1970-01-01
    • 2015-10-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多