1

REST API に一連のリソースがあります。次のように言いましょう。

GET /folders
[{ "id": "x", "watched": true }, { "id": "y", "watched": true }, ...]

「監視を停止」コマンドをパッチとして実装しました。

PATCH /folders/x { "watched": false }

「すべてのフォルダの監視を停止する」を実装する正しい方法は何ですか? と思いました

PATCH /folders { "watched": false }

しかし、これが理にかなっているのかどうかはわかりません (コレクション自体にはwatchedプロパティがありません)。

それとも、API レベルでまったく実装すべきではない (代わりにクライアントによって反復される) ものですか?
しかし、それは非効率に思えるでしょう。

4

1 に答える 1

1

PATCH /folders { "watched": false }は完全に適切だと思います。目的のリソース状態 (JSON) の特定の表現でフォルダーにパッチを適用する方法を実装に決定させます。リソース表現がどのように見えるべきかについての制約はありません。自己記述的でなければならないので、この場合は標準のコンテンツ タイプを持つ必要があります。それだけです。(GET 応答は異なる場合があります。)

コレクションはアトミックではなく、いつでも接続を失う可能性があるため、クライアントでコレクションを反復処理することはお勧めしません。これに関するリクエストは 1 つだけ送信してください。

于 2014-09-09T01:04:38.397 に答える