googleappengine中restfulapi的动态URL实现
客户端应用程序将使用GET方法向发送消息,以便接收包含用户使用历史记录的JSON回复。可能是一张听过的歌曲、购买的物品等的清单 我可以通过以下代码片段了解到如何处理:googleappengine中restfulapi的动态URL实现,api,google-app-engine,rest,Api,Google App Engine,Rest,客户端应用程序将使用GET方法向发送消息,以便接收包含用户使用历史记录的JSON回复。可能是一张听过的歌曲、购买的物品等的清单 我可以通过以下代码片段了解到如何处理: application = webapp.WSGIApplication( [('/', BrowserTests), ('/user/([^/]+)?', UserHandler), ], debug=True) 我通过以下方式在UserHandler中使用: user_id
application = webapp.WSGIApplication(
[('/', BrowserTests),
('/user/([^/]+)?', UserHandler),
], debug=True)
我通过以下方式在UserHandler中使用:
user_id = str(urllib.unquote(resource))
这样我就可以为你做这项工作了。但我怎样才能更进一步,消费历史呢
我试着在StackOverflow和文档中查找,但我想我不知道到底要问什么才能得到答案。你可以这样做:
application = webapp.WSGIApplication([
('/user/([^/]+)/([^/]+)', UserHandler),
], debug=True)
class UserHandler(webapp.RequestHandler):
def get(self, user_id, action_to_consume):
self.response.out.write("Action %s" % action_to_consume)#Should print History
添加第二个参数
application = webapp.WSGIApplication(
[('/', BrowserTests),
('/user/([^/]+)/([^/]+)$', UserHandler),
], debug=True)
class UserHandler(webapp.RequestHandler):
def get(self, userid, history):
如果您希望每个操作都有一个单独的处理程序,可以选择@Jose和@systempuntoout的答案:
application = webapp.WSGIApplication([
('/', BrowserTests),
('/user/([^/]+)', UserHandler),
('/user/([^/]+)/history', HistoryHandler),
], debug=True)
class UserHandler(webapp.RequestHandler):
def get(self, userid):
pass
class HistoryHandler(webapp.RequestHandler):
def get(self, userid):
pass
DomDerrien对实现MVC模型以在GAE中创建RESTfulAPI有很好的描述。请查看他的博客以了解详细信息:永远不要在WSGI应用程序中调用^100打印。@尼克挑剔者,花点+1代替:P.不是挑剔-原始示例不会起作用。现在我可以投票给你了