2016-05-12 42 views
0

我有一個web應用程序,它運行在flask web框架上。 Flask無法回答應用程序需求。所以我們決定遷移龍捲風。 我需要處理以下兩個請求。python龍捲風如何獲得邊緣的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

在龍捲風的類似裝置使用兩個處理類(或許還有一個共同的基類爲共享的方法):

class AuthedUserHandler(RequestHandler): 
    def get(self): 
     ... 

class UserHandler(RequestHandler): 
    def get(self, user_id): 
     ... 

app = Application([ 
    ('/user', AuthedUserHandler), 
    ('/user/(.*)', UserHandler), 
])