【问题标题】:Is this service Restfull?这项服务是否宁静?
【发布时间】:2013-06-19 18:11:30
【问题描述】:

我不确定这是否是正确的提问地方,但由于有很多此类问题,我会继续提问。

一年前,我开发了一个 iOS 应用程序,该应用程序通过 HTTP 请求交换 JSON 文件等连接到服务器。当时我被告知该服务器是一个 Web (REST) 服务。我不在乎,因为对我来说只是一个黑匣子。

最近几个月我正在开发一个混合移动应用程序,其中我使用原生代码 + jquery mobile 作为前端部分,使用 php + mysql 作为后端部分。该应用程序是关于向数据库注册新用户,让用户订阅各种事件,获取有关它们的通知等。因此,对于前端(客户端)和后端(服务器)之间的所有通信,我都会发出 http 请求(POST) ,使用 json 文件的 ajax 调用。

这是一个 RESTfull Web 服务吗?我对 REST 的定义有点困惑。根据维基百科 REST 是:

REST-style architectures conventionally consist of clients and servers. Clients initiate requests to servers; servers process requests and return appropriate responses. 

那么我正在构建一个 Restfull Web 服务吗?我们也将 Rest 称为仅服务器部分还是通常称为客户端-服务器架构?

它只是一个网络服务吗?如果是的话,什么样的网络服务?

【问题讨论】:

  • 听起来您可能在遵循 RESTful API 的一些约定,但没有严格遵守。一方面,当您想添加新资源时,您只需要 POST 到 RESTful API。听起来您可能正在使用 POST 来检索记录。对于阅读资源,您应该使用 GET,更新您应该使用 PUT。请参阅stackoverflow.com/questions/671118/… 了解更多信息。在回答您的问题时,我会说它是一种 Web 服务,它的临时实现可能不属于更知名的类别之一。
  • 您能否给我一个 REst 服务和非 REst 服务的示例?我仍然看不出有什么不同..
  • 一个 RESTful API 会将其域对象作为资源进行操作,使用 URI 来定义这些资源。 CRUD 操作将由 HTTP 操作 GET、PUT、POST、DELETE 和偶尔的 HEAD 定义。一个有据可查的 REST API 是 Amazon S3 API。见docs.aws.amazon.com/AmazonS3/latest/API/APIRest.html

标签: web-services rest


【解决方案1】:

当您通过 http 或从客户端代码(java、.NET 或任何语言)从浏览器调用控制器(也称为 Web 服务)时,没有区别。当您想从您的代码中调用外部世界的服务时..您可以选择soap或rest ..soap是协议,而REST是一种架构风格..所以REST是调用服务的方法(简单的http POST 或 GET 调用)来自外部世界..不一定来自浏览器..它可能来自充当浏览器以从外部世界服务获取响应的客户端代码..这是基于我的经验..

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-06
    • 2019-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-14
    相关资源
    最近更新 更多