3

在创建 REST API 时,如果我为 GET 请求返回 JSON 格式的数据,是否也以 JSON 格式发送 POST、PUT、DELETE 和错误消息的响应,或者纯文本就足够了?

例如:

对于我需要返回新添加记录的新 ID 的 POST 请求(即只是数据库中的新自动增量值),响应是否仍然是 JSON 或只是像“1”或“2”这样的纯文本。

PUT 或 DELETE 请求也是如此,我需要说“OK”或“Accepted”,以及“Bad Request”、“Not Found”等错误消息。

纯文本还是 JSON?

4

3 回答 3

8

使用客户端提供的Accept标头让客户端控制他们想要的内容类型。如果没有提供标头,则使用合理的默认值并始终在响应中包含Content-Type标头。有关详细信息,请参阅RFC2616 的内容协商部分

于 2012-07-31T13:27:20.840 回答
2

理论上,只返回“1”是有效的 JSON。它只是不是数组或关联映射。

对于 OK 和 Accepted,您可以只使用 HTTP 状态代码。没有身体是真正需要的。

于 2012-07-31T13:26:58.607 回答
0

这完全取决于客户的能力。

当然,您实际上不必选择其中一个:您可以使用内容类型协商根据用户代理的接受列表返回不同的表示。

于 2012-07-31T13:27:39.277 回答