擅长:python、mysql、java
<p>我想出来了。主要问题是我的正则表达式捕捉到了一切。所以呢</p>
<pre><code>r"/api/applications/(.*)/running_actions/(.*)"
</code></pre>
<p>实际上只有一组。因此没有设置action\u id参数。你知道吗</p>
<p>第二个问题是必须首先定义最具描述性的路径。你知道吗</p>
<p>这样做有效:</p>
<pre><code>class ApiRootHandler(tornado.web.RequestHandler):
def get(self):
pass
class ApiApplicationHandler(tornado.web.RequestHandler):
def get(self, action_name):
pass
class ApiRunningActionsHandler(tornado.web.RequestHandler):
def get(self, action_name, action_id):
self.write("action_name: " + action_name + ", action_id: " + action_id)
app = tornado.web.Application([
(r"/api/applications/(\w+)/running_actions/([0-9]+)", ApiRunningActionsHandler),
(r"/api/(\w+)", ApiApplicationHandler),
(r"/api/", ApiRootHandler),
])
app.listen(8888)
tornado.ioloop.IOLoop.current().start()
</code></pre>