如何使用Google App Engine和Python创建REST服务?

6
我想创建一个RESTFUL web服务,通过URL接收请求,然后返回客户端所需的文档。例如,如果我要通过Web浏览器获取亚特兰大的天气信息,我将访问http://weatherapp.appspot.com/temperature/Atlanta,它将返回包含亚特兰大相关信息的HTML文档。我不需要与数据库相关联,因为我只是想通过屏幕抓取来包装另一个网站。是否有任何关于如何从URL获取参数的示例?
1个回答

15
使用webapp框架,你可以像这样捕获正则表达式组并将它们传递给处理程序:

class WeatherHandler(webapp.RequestHandler):
  def get(self, location):
    # Do something for location

application = webapp.WSGIApplication([
    ('/temperature/(.*)', WeatherHandler),
])

def main():
  run_wsgi_app(application)

if __name__ == "__main__":
  main()
任何正则表达式中的括号组都会被收集并作为位置参数传递给处理程序上的get/post等方法。

1
你不能使用 app.yaml 文件来映射 URL 吗? - Chris Jaynes
1
@Chris的app.yaml指示基础设施将请求路由到哪个脚本。由于请求是使用CGI进行的,因此无法在其中捕获子组。仍然由各个脚本决定将请求路由到适当的处理程序,如上所述。 - Nick Johnson
@AvinashRaj 在这种情况下不是很重要,因为正则表达式中没有转义序列。 - Nick Johnson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接