3

我有一个场景,客户端(移动应用程序)将向我的 GAE 网站发送更新查询,以查看该网站是否有更新版本的资源,如果有,它将返回此资源(zip 文件),否则它只会返回一个 json 响应“全部是最新的”(或者可能是一个未修改的 304 HTTP 响应代码)

REST URL 应该如何(来自移动应用程序)?

www.example.com/update?version=(client_version)

或者

www.example.com/update_client_version

感谢我能得到的任何帮助。

到目前为止我所拥有的是......但是由于某种原因我在做的时候得到了 404http://localhost:8080/update/1

INFO 2012-11-22 10:12:18,441 dev_appserver.py:3092] "GET /holidays/1 HTTP/1.1" 404 -

class UpdateHandler(webapp2.RequestHandler):
    def get(self, version):

        latestVersion == 1

        if version == latestVersion:
            self.response.write('You are using latest version')
        else:
            self.response.write('You are not using latest version')


app = webapp2.WSGIApplication([('/update/(.*)', UpdateHandler)], debug=True)
4

2 回答 2

2

我会采用以下方法:

www.example.com/update/client_version

您的代码应如下所示:

import webapp2

class UpdateHandler(webapp2.RequestHandler):
    def get(self, version):
        # Do something for version

app = webapp2.WSGIApplication(
    [(r'/update/(\d+)', UpdateHandler)], 
    debug=True)
于 2012-11-22T09:06:52.223 回答
1

如果您打算使用 HTTP 304,您应该查看是否可以让客户端发出有条件的 GET 请求。例如添加一个标题If-Modified-Since: Thu, 22 Nov 2012 09:24:52 GMT

于 2012-11-22T09:02:15.227 回答