私は、私のAPIにHATEOASを実装する方法(もしあれば)を頭に入れようとしています。私は現在の状況で適切なアクションだけをクライアントに与えるというコンセプトの1つが好きです。しかし、私はこのアイデアを正しく実装しているかどうかはわかりません。HATEOASとリンク/アクション
のは、私は変更することができる状態でリソースタイプ順があるとしましょう、それは別のステータスを持つことができます(処理、はがが成功し、期限切れ、を拒否し、を受け入れました)。次のjsonオブジェクトを作成する必要があります:
{
...
"links": {
"accept": "http://example.com/order/1/accept",
"decline": "http://example.com/order/1/decline"
}
}
ここで不要なアクションを作成していますか?そして上記が正しい場合は、ステータスをPATCHまたはGETで変更する必要がありますか?それがパッチだったら、どのようにして(ハイパーメディアの目的を破って)知っていますか?
編集:だが、私は変更することができる状態とリソースタイプの順序を持っているとしましょう注文ID
あなたの徹底的な対応に感謝します(私が正しいリソースIDを追加するのを忘れてしまった)。上から読んで、PATCHを選択します。パッチのjsonペイロードは何ですか?何かが好きです:PATCH:http://example.com/order/1/accept {status: "accept"}? – adnan
いいえ、私は新しいリソースをPUTします。 PATCHする必要がある場合は、PATCHのメディアタイプを選択する必要があります。おそらく:https://tools.ietf.org/html/rfc6902 – VoiceOfUnreason
ああ、あなたを誤解して申し訳ありません。したがって、PUT:payload {status: "accept"}を指定したexample.com/order/1/acceptあるいは、別のペイロードをお勧めしますか? – adnan