在现有 Web 的特定 HTTP 错误响应中提供 URI 资源作为建议的合理方法是什么 API

What is a reasonable way to provide URI resource as a suggestion in specific HTTP error responses of an existing Web API

我知道一些流行的超媒体格式,例如 HAL、UBER 和 Collection+JSON,我确实看到了这些格式的价值,但是如果我只想在其中添加建议的 URI对于基于 API 的现有 HTTP 的错误响应情况,这样做的合理方式是什么?我宁愿不只是自己编一些没有标准的东西,但另一方面我也不想推翻 API 那个时候。此外,在浏览一些流行的超媒体格式的细节时,我没有看到任何具体建议如何呈现与错误情况相关的相关链接的示例。

我想支持的一个示例用例类似于对格式 /documents/vehical-listing 的 POST 到 URL 的响应,其中列表缺少一个所有者 属性,我想将消费者指向一个 URL,例如 /vehical-owners,这样他们在尝试 POST 之前就知道在哪里 POST 所有者信息需要引用注册车主的车辆清单。

我相信你要找的是http-problem。它是一种用于返回正在标准化过程中的错误信息的格式。 Akamai 目前正在使用它,而且我知道许多其他开发人员正在为其添加支持。

这是规范中的示例,

   HTTP/1.1 403 Forbidden
   Content-Type: application/problem+json
   Content-Language: en

   {
    "type": "https://example.com/probs/out-of-credit",
    "title": "You do not have enough credit.",
    "detail": "Your current balance is 30, but that costs 50.",
    "instance": "/account/12345/msgs/abc",
    "balance": 30,
    "accounts": ["/account/12345",
                 "/account/67890"]
   }

“余额”和“账户”属性是特定于示例的任意扩展 API。您可以添加自己的扩展。这将允许您添加包含指向 vehicle-owners 资源的 URL 的扩展 属性。