2016-12-12 11 views
0

ドキュメントに記載されている例では、1つまたはいくつかのルートを持つアプリケーションについて説明しています。各URLパスには独自のクラスがあります。多くのルートがある状況のベストプラクティスは何ですか? 例えば、私はRESTfulな構造を以下している:falcon Pythonでルートを区切る正しい方法は何ですか?

はlocalhost:8000/my_part/

はlocalhost:8000/my_part/B

はlocalhost:8000/my_part/A /デフォルト

localhostと:8000/my_part/B/special

などです。各パスの

  1. それはmy_part 'の単一のクラスを作成し、何とか(req.uriをストリッピングして例えば)そのクラスのA、Bを区別
  2. 独自のクラスの作成は:

    私は何をすべき

  3. 他にもあります。

「default」と「special」は変数ではなく、実際のルートであることに注意してください。

答えて

1

本当に膨大な数のURLがある場合(または簡単に管理したい場合)、それらをグループ化し、それぞれを異なるファイルに保存します。あなたは次のようにグループ化をすることができますすなわち

レッツは、グループ化できます「/ my_part/A」、「/ my_part/A /デフォルト」などと言ってみましょうに格納する「ルート-言います。 py "である。

同様に、 "/ my_part/B"、 "/ my_part/B/special"などとし、それらを "routes-b.py"として保存します。 その後、すべてのルートを1つのファイルにインポートして使用します。

私はそれぞれがURLであると理解しているので、それぞれ別々のGETリクエストとPOSTリクエストがあるので、別のクラスを使うべきだと思います。すべての人のための単一のクラスは悪い考えです(この場合、保守は将来非常に困難になります)。

その後、すべてのファイルを1つのファイルにインポートして使用します。

また、クラスを別のファイルに書き込むことをお勧めします。すべてを1つのファイルに書き込まないでください。したがって、後で簡単にファイル名のみを使用して識別することができます。 ファイル "routes-a.py" とファイル「ルート-Bのファイル "class-A.py"

import falcon 
from class-A import * 
app = falcon.API() 
app.add_route("/my_part/A/", MyPartA()) 
app.add_route("/my_part/A/default/", MyPartADefault()) 

と に店舗に必要なクラスを持っている:

検討し、再び例を見てみましょう。 PY」とファイルに保存に必要なクラスを持っている "class-B.py" 今

import falcon 
from class-B import * 
app = falcon.API() 
app.add_route("/my_part/B/", MyPartB()) 
app.add_route("/my_part/B/special/", MyPartBSpecial()) 

、1つのファイルにすべてが言わせて組み合わせる "" routes.py

from routes-a import * 
from routes-b import * 

これがあなたに役立つことを願っています。私が何かを逃したら私に知らせてください。

0

Flaskにあるように青写真のコンセプトがないので、これを別のファイルにグループ化するのが最良の方法です。

「/ api/v1」や「/ api/v1」のように、同じグループに属するすべてのクラス/リソースのルーティングを処理するモジュールを作成できます。 v2 '

特にこの場合、複数のAPIが必要でした。私は、フラスコとファルコンの両方で動作する軽量フレームワークを構築しました。それで、独自のエンドポイントで別のAPIを設定しましょう。超高速で走っている。

ここで確認できます。https://github.com/sebastiandev/peach

関連する問題