1

HAL、UBER、Collection+JSON などの一般的なハイパーメディア形式のいくつかを認識しており、これらの値に価値があることを認識していますが、既存の HTTP ベースの API は、それを行うための合理的な方法は何でしょうか? 私はむしろ、標準に似ていないものを自分で作成したくはありませんが、その一方で、その時点で API を覆すことは考えていません。さらに、いくつかの一般的なハイパーメディア形式の詳細をざっと調べたところ、エラー ケースに関連する相対リンクを提示する方法を具体的に示唆する例は見当たりません。

私がサポートしたいユースケースの例は、/documents/vehical-listing 形式の URL への POST への応答に沿ったもので、リスティングに所有者のプロパティがありませんでした。 /vehical-owners などの URL を使用して、登録済みの所有者を参照する必要がある vehical-listing を POST しようとする前に、所有者情報をどこに POST するかを知ることができます。

4

1 に答える 1

2

あなたが探しているのは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"]
   }

「balance」および「account」プロパティは、サンプル API に固有の任意の拡張です。独自の拡張機能を追加できます。vehicle-ownersこれにより、リソースを指す URL を含む拡張プロパティを追加できます。

于 2015-10-19T15:24:53.177 に答える