REST 数据格式

REST Data format

这听起来像是一个非常基本的问题,但是 REST API 可以处理哪些不同的数据格式?

我知道 JSON、XML 是最常见的。我读到 here 它可以处理纯文本并且 HTML 也可以。

问题是 REST 可以处理什么有任何限制吗?

不,没有真正的限制。我最近创建了一个 REST api,它混合使用了:

  • text/markdown
  • text/csv
  • text/html
  • application/hal+json

这是关于 REST 服务的巧妙之处之一。图片就是图片

Question is that is there any restrictions as to what REST can handle?

REST 的核心部分是资源。资源可以有 n 表示。详情请参阅此

REST 应用程序可以用来表示资源的 media types 没有任何限制。这取决于每个实现。我们经常看到 REST API 使用 JSON 作为表示资源的方式:JSON 是一种非常流行的数据格式,可以被多种编程语言解析。

来自 Fielding 论文的chapter 5,其中定义了 REST 架构风格:

REST components perform actions on a resource by using a representation to capture the current or intended state of that resource and transferring that representation between components. A representation is a sequence of bytes, plus representation metadata to describe those bytes. Other commonly used but less precise names for a representation include: document, file, and HTTP message entity, instance, or variant.

支持同一资源的多种表示背后的目标是客户能够选择最适合他们需要的表示。它被称为内容协商