【问题标题】:HTTP JSON and RESTHTTP JSON 和 REST
【发布时间】:2015-02-28 01:27:34
【问题描述】:

通过 HTTP 发送的响应 URL 请求的 JSON 消息是否符合 REST 标准?
我相信不是。
但我不确定详细原因。
如果我有一个组织良好的网站,它使用 json 表示有效负载响应 URL 请求 - 它需要进一步做什么才能符合 RESTful 或 JAX-RS?
一个简单简洁的解释将不胜感激

【问题讨论】:

  • 据我所知,RESTful 服务没有官方标准。就我个人而言,我发现严格的书本 REST 令人讨厌,因为现实世界并不总是符合 REST 推断的 GET/PUT/POST/DELETE 规则。在我看来,一切都取决于最适合您的方式。
  • 您应该使用标准的 JSON 超媒体格式(例如 JSON-LD)并在响应中添加超链接。办公室。您还必须遵循 HTTP 标准。

标签: json web-services rest http


【解决方案1】:

对于 REST 中的消息负载没有限制,在 HTTP 响应中使用 JSON 格式不足以使服务成为 RESTful。

简而言之(因为这是您所要求的 ;-)),REST 中真正重要的是尊重 HTTP 操作(GET、POST、...)的设计目的、资源的概念及其状态(幂等性,...),利用标头和状态代码,...

以下链接可以为您提供有关实现 RESTful 服务/Web API 的方式的提示:

希望对你有帮助 蒂埃里

【讨论】:

    【解决方案2】:

    JSON 是一种有效负载,在使您的 Web 服务 REST 投诉方面没有任何作用。

    有效负载可以是 XML、CSV、纯文本等。

    当 Web 服务遵循 REST 协议(规则集,而不是网络协议)时,它将是 REST-Complaint。

    您最多可以向 4 个级别投诉 REST Web 服务。

    要理解的一个非常基本的规则是 - Your Request must not be RPC 即您必须不使用有效负载(典型 SOAP)或 URL 隧道(例如http://www.example.com/product?id=1234&action=delete

    在 RESTful 世界中,您将为上述定义一个顶级 URI。例如http://www.example.com/product

    然后您将调用各种 URL 来执行其他操作。

    如:

    1. POST - 创建数据

      http://www.example.com/product

      Body{ here your payload will describe the Product.}

      假设您依赖服务器生成的产品 ID,则返回类型可能是产品 ID。应该再次将其设置为返回标头的 LOCATION 参数。

    2. PUT - 更新数据

      http://www.example.com/product/1234

      Body{ here your payload will contain the Product details to change.}

    3. GET - 获取数据

      http://www.example.com/product/1234

    4. DELETE - 删除数据

      http://www.example.com/product/1234

    【讨论】:

      猜你喜欢
      • 2016-08-23
      • 2017-07-28
      • 2012-02-23
      • 2015-12-07
      • 2020-09-19
      • 2014-09-01
      • 2011-02-02
      • 1970-01-01
      • 2016-03-06
      相关资源
      最近更新 更多