2013-04-29 64 views
8

我試圖用def patch():方法在我webapp2.RequestHandler支持部分資源的更新,但隨後看到,在允許的方法被凍結在webapp2.py:PATCH方法處理webapp2的

allowed_methods = frozenset(('GET', 'POST', 'HEAD', 'OPTIONS', 'PUT', 
          'DELETE', 'TRACE')) 

我怎樣才能擴展webapp2.RequestHandler或修改WSGIApplication類以允許在Google AppEngine上部署PATCH HTTP方法?

+2

作爲一種解決方法,您可以像Google一樣爲其自己的API實施「X-HTTP-Method-Override」:http://googleappsdeveloper.blogspot.de/2012/03/making-patch-requests-from- APP-engine.html – 2013-04-29 18:20:16

回答

10

創建WSGIApplication之前只需使用一隻猴子補丁通過執行此:

allowed_methods = webapp2.WSGIApplication.allowed_methods 
new_allowed_methods = allowed_methods.union(('PATCH',)) 
webapp2.WSGIApplication.allowed_methods = new_allowed_methods 

上有webapp2問題跟蹤當前patch但沒有人把它撿起來。