2016-05-12 6 views
0

私はフラスコのWebフレームワーク上で動作するWebアプリケーションを持っています。フラスコはもはやアプリケーション要件に答えることができませんでした。だから私たちは竜巻を移住することに決めました。 以下の2つのリクエストを処理する必要があります。最初の要求は、それが認証済みエントリを返さなければなりませんと呼ばれるpython tornado端のIDを取得する方法

/entry GET Method 
/entry/id GET Method 
  1. 。 2番目の要求は、それがそのたentry_id

IDである私の解決策を除くリクエストの上処理するためのさまざまな素敵な解決策があり、エントリを返さなければなりませんと呼ばれる

  • 。私が見つけた解決策は、循環的な複雑さを作り出します。

    def get(self): 
        id = self.request.path.split('/')[-1] 
        if id is None: 
         #return authenticated user 
        else: 
         #return the user whose entry_id is id 
    

    注:私はこのような解決策を探しています:

    @rest_user.route('/user', methods=['GET']) 
        #some code 
    @rest_user.route('/user/<user_id>', methods=['GET']) 
        #some code 
    
  • 答えて

    2

    トルネードにおける類似の配置が(おそらく共有方法のための共通の基底クラスで)2つのハンドラクラスを使用しています。

    class AuthedUserHandler(RequestHandler): 
        def get(self): 
         ... 
    
    class UserHandler(RequestHandler): 
        def get(self, user_id): 
         ... 
    
    app = Application([ 
        ('/user', AuthedUserHandler), 
        ('/user/(.*)', UserHandler), 
    ]) 
    
    関連する問題