フラスコを使用してライブラリ用のRESTful APIを構築しています。このライブラリには基本的に、Unicode文字列で入力を取り込み、スペルチェック/翻訳/音訳などを行う一連の関数があります。
私が見るように、関数はリソースであり、リクエストを行うときに変換を作成していて、POST のみの API を作成する必要があるようです。
また、何も保存していないので、 GET を使用する必要がありますか?
非 CRUD Rest Api に対する他のアプローチはありますか?
関数/メソッドをリソースにすることはできません。これは、RPC (リモート プロシージャ コール) を行っていることを意味するためです。リソースは単なる情報源です (ユーザー、モノなどの名詞)。一方、RPC はメソッド/関数の呼び出しに関するものです (動詞、たとえば createUser()、doSomething())。
REST のリソースは、統一されたインターフェイスを提供する単なる情報源です (提供するすべてのリソースで統一され、ほとんどは CRUD 操作のみです)。
したがって、次の 2 つのオプションがあります。
私はあなたに多くの選択肢があるとは思わない:
GET
リクエストはエンティティ本体をサポートしていませんそれは実際には と の間の選択でPOST
ありPUT
、その 1 つは明確です。リソースを作成していないため、 にすることはできませんPUT
。