【问题标题】:RESTful Client Verses normal HTTP Client For Android?RESTful 客户端与 Android 的普通 HTTP 客户端对比?
【发布时间】:2017-01-13 22:34:57
【问题描述】:

我正在开发一个 Android 应用程序。我阅读了 RESTful Webservices 并决定将其用于我的应用程序。但我对 REST Client 有疑问

看了很多文章我明白了

  1. 我可以直接编写代码从android发出HTTP请求 Connenting To Network 中给出的应用程序或
  2. 我可以编写代码来开发 RESTful 客户端或
  3. 我可以使用一些已经开发的第三方库,例如RESTDroid

我无法决定是否应该按照开发人员指南的建议直接编写代码来发出 HTTP 请求,或者我应该遵循其余客户端模型。

使用 REST 客户端比直接发出 HTTP 请求(或者可以说使用非 RESTful 客户端)有什么优势?

我是 android 和 REST 架构的新手。如果我错了,请纠正我。

【问题讨论】:

  • 你最好先告诉你想要什么样的服务器。您使用带有 php 的网络服务器?然后,您所要做的就是使用 HttpUrlConnection 进行直接连接。在我看来,不存在 restfull 客户端或非 restfull 客户端之类的东西。您只需要一个用于您的 php 脚本的客户端。您使用 http 协议连接并发布或获取一些参数。就是这样。
  • @greenapps 感谢您的建议。实际上,我打算使用提供 rest api 的 web 服务(来自apispark.restlet.com),实际上我对许多帖子中出现的术语“REST 客户端”感到困惑。看到这个问题。 stackoverflow.com/questions/8267928/android-rest-client-sample 热门答案列出了许多此类 REST 客户端。我知道您可以拥有 RESTful web api,但可以使用正常的直接连接。我不明白这里使用 RESTful 客户端有什么用。
  • 对不起,我不会关注这些链接。

标签: android rest


【解决方案1】:

这是一个相当广泛的答案,但我将其分为两部分:

1) 休息和非休息客户:

根据我的经验,除了浏览器之外,我没有见过任何 REST 客户端

业界对original REST specification 的一部分进行了删减,并创建了改进的 HTTP 客户端/服务,并将它们称为 REST,它们(大部分)与任何普通的 HTTP 库没有什么不同。

因此,对于 Android,您将获得具有各种功能的普通 HTTP 客户端,但 REST 部分需要您自己编写代码。

2) 什么更好用

显然,我建议编写自己的 HTTP 客户端,因为这绝非易事。

建议将 Retrofit 用于真正的 RESTful 服务,因为它不适合。您最好在 OkHttp 之上构建一些东西或扩展 VolleyJus 这是我的创作,它将支持 0.7.0 版的基本 HATEOAS 实现以及 1.0.0 版的优化管道和内存利用率(继续github :)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-28
    • 2016-12-27
    • 1970-01-01
    • 2018-03-18
    • 1970-01-01
    • 2013-09-16
    • 2017-09-17
    相关资源
    最近更新 更多