【问题标题】:How-to create a REST service with Google App Engine and Python?如何使用 Google App Engine 和 Python 创建 REST 服务?
【发布时间】:2009-11-24 05:41:01
【问题描述】:

我想创建一个 RESTFUL Web 服务,它通过访问的 URL 获取请求,然后为该客户端返回相应的文档。例如,如果它是一个天气应用程序,我想通过网络浏览器获取亚特兰大的天气,我将访问http://weatherapp.appspot.com/temperature/Atlanta,它会返回一个包含亚特兰大信息的 HTML 文档。我不想要任何与数据库相关的东西,因为我只是想通过屏幕抓取来包装另一个网站。有没有人有任何关于如何从 url 获取参数的示例?

【问题讨论】:

    标签: google-app-engine


    【解决方案1】:

    使用 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/etc 方法。

    【讨论】:

    • 您不能使用 app.yaml 文件来映射 URL 吗?
    • @Chris app.yaml 指示基础架构使用哪个脚本来路由请求。由于请求是使用 CGI 发出的,因此无法在此处捕获子组。如上所述,将请求路由到适当的处理程序仍然取决于各个脚本。
    • 谢谢!这对我帮助很大!
    • @AvinashRaj 在这种情况下没关系,因为正则表达式中没有转义序列。
    猜你喜欢
    • 1970-01-01
    • 2014-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多