1

我正在设计一个 REST API 并遇到了这个问题:

应该如何定义一组值?

假设我有一个将在http://myserver.com/api/getPicture/1请求的图片对象

所以服务器响应:

{
 url : "http://myserver.com/pictures/1.jpg",
 taken_at : "1/1/2012"
}

现在,假设我想添加一个 color_depth 字段。

两种可能的选择是:

color_depth : "BLACK_WHITE" or "COLOR" or "GRAYSCALE"
color_depth : "0" OR "1" OR "2" //would need to map these to their meaning somewhere

在这种情况下有什么标准吗?

4

1 回答 1

4

对于 JSON,没有任何事实上的或官方的标准。JSON-SCHEMA试图解决这个问题,但目前还不推荐规范,甚至实现也不流行。

使用 XML,XML Schema是标准解决方案。对于RDF,也有解决这个问题的RDFS。

对于每种格式,coice 都是您的。取决于整数标识符(1、2、3)并在没有模式的情况下翻译它们意味着您的请求远不如表达它们含义的字符串(如“COLOR”)那么独立。请求应该是自包含的,这是 RESTful API 设计的核心概念。这与 Roy Fielding 论文中描述的 RESTful 架构的可见性属性大致相关。

我会选择完整的字符串。

于 2012-06-26T17:42:46.427 回答