3

フラスコを使用してライブラリ用のRESTful APIを構築しています。このライブラリには基本的に、Unicode文字列で入力を取り込み、スペルチェック/翻訳/音訳などを行う一連の関数があります。

私が見るように、関数はリソースであり、リクエストを行うときに変換を作成していて、POST のみの API を作成する必要があるようです。

また、何も保存していないので、 GET を使用する必要がありますか?

非 CRUD Rest Api に対する他のアプローチはありますか?

4

2 に答える 2

1

関数/メソッドをリソースにすることはできません。これは、RPC (リモート プロシージャ コール) を行っていることを意味するためです。リソースは単なる情報源です (ユーザー、モノなどの名詞)。一方、RPC はメソッド/関数の呼び出しに関するものです (動詞、たとえば createUser()、doSomething())。

REST のリソースは、統一されたインターフェイスを提供する単なる情報源です (提供するすべてのリソースで統一され、ほとんどは CRUD 操作のみです)。

したがって、次の 2 つのオプションがあります。

  • 使用しているライブラリを再考し、固有名詞を見つけて、統一されたインターフェイスを介してアクセス可能なリソースとして公開します
  • RESTful API 要件を削除し、RPC ゲートウェイをライブラリに簡単に実装する
于 2013-04-11T14:38:30.370 に答える
1

私はあなたに多くの選択肢があるとは思わない:

  • あなたのリソースはテキストが処理されることを期待しています
  • テキストを送信するRESTfulな方法は、エンティティ本体を介して行われます
  • GETリクエストはエンティティ本体をサポートしていません

それは実際には と の間の選択でPOSTありPUT、その 1 つは明確です。リソースを作成していないため、 にすることはできませんPUT

于 2013-04-11T14:32:15.940 に答える