5

私は 1 つのことだけを行う小さなアプリを作成しています: ユーザーが提供したデータを取得し、それを分析して、そのデータの「タグ」を返します。私は、クライアントが応答を得るために、GETまたはPOSTその要求のいずれかを行う必要があると考えています./getTag

クライアントがこれを行うと、サーバーには何も保存されないため、POST を使用するのは奇妙に感じられます。ただし、分析用の統一された URI も存在しないため、提供されるデータに応じて異なるものが返されるため、GET を使用するのは奇妙に感じられます。

この機能を REST で表現する最良の方法は何ですか?

4

5 に答える 5

1

あなたや元のデータを生成したユーザーが、生成されたタグを存続させたいと思う理由があるのではないかと思いますね。

それが可能であれば、私はそれをとして記述しPOST /tags/tags/:idリソースURIをLocation:ヘッダーとして返します。

生成されたタグを永続化することを本当に気にしないのであれば、「ユーザー生成データ」とは何か、そして舞台裏でどのくらいの処理が行われているのかを考えます。「タグ」がシステムに渡されるデータと十分に異なる場合GET /tag、APIコンシューマーにとって本当に混乱する可能性があります。

于 2012-04-15T02:52:36.887 に答える
1

POSTは、アクションの実行を表すことができます。アクションはデータベースアクションである必要はありません。

実際に作成したのはリモートプロシージャです。RPCは通常すべてPOSTです。これはRESTに適しているとは思いませんが、単純なURLとJSONの使用を妨げる必要はありません。

于 2012-04-15T00:42:08.757 に答える
0

ブライアンの答えを2番目にします:を使用しGETます。同じ入力パラメータが同じ出力を返し、実際には何も作成していない場合、それはべき等アクションであるため、に完全に適していGETます。

于 2012-04-15T07:06:49.410 に答える