gpt4 book ai didi

python - 405 不允许方法 - 在 Google App Engine 中获取请求,语言 Python

转载 作者:太空宇宙 更新时间:2023-11-03 16:49:46 26 4
gpt4 key购买 nike

我知道有很多这样的问题,我花了几个小时研究它们并试图找出答案,但我无法找到问题所在。我的 main.py 如下所示:

import webapp2
from google.appengine.api import oauth

app = webapp2.WSGIApplication([
('/org', 'org.Organization'),
], debug=True)
app.router.add(webapp2.Route(r'/org/<id:[0-9]+><:/?>', 'org.Organization'))
app.router.add(webapp2.Route(r'/org/search', 'org.OrgSearch'))
app.router.add(webapp2.Route(r'/resources', 'resources.Resource'))
app.router.add(webapp2.Route(r'/resources/<rid:[0-9]+>/org/<oid:[0-9]+><:/?>', 'resources.ResourceOrgs'))

我的 get 和 post 请求的代码如下所示: 导入webapp2 从 google.appengine.ext 导入 ndb 导入数据库 导入json

class Organization(webapp2.RequestHandler):
def post(self):
if 'application/json' not in self.request.accept:
self.response.status = 406
self.response.status_message = "API only supports application/json MIME type"
return
new_org = dbase.Organization()
name = self.request.get('name', default_value=None)
phone = self.request.get('phone', default_value=None)
street = self.request.get('street', default_value=None)
city = self.request.get('city', default_value=None)
state = self.request.get('state', default_value=None)
if name:
new_org.name = name
else:
self.response.status = 400
self.response.status_message = "Invalid request, Name is required"
if phone:
new_org.phone = phone
if street:
new_org.street = street
if city:
new_org.city = city
else:
self.response.status = 400
self.response.status_message = "Invalid request, City is required"
if state:
new_org.state = state
else:
self.response.status = 400
self.response.status_message = "Invalid request, State is required"
key = new_org.put()
out = new_org.to_dict()
self.response.write(json.dumps(out))
return

def get(self, **kwargs):
if 'application/json' not in self.request.accept:
self.response.status = 406
self.response.status_message = "API only supports application/json MIME type"
if 'id' in kwargs:
out = ndb.Key(dbase.Organization, int(kwargs['id'])).get().to_dict()
self.response.write(json.dumps(out))
else:
q = dbase.Organization.query()
keys = q.fetch(keys_only=True)
results = { 'keys' : [x.id() for x in keys]}
self.response.write(json.dumps(results))

我希望有人能帮助我,因为我无法弄清楚而且我的时间不多了。我正在使用 notepad++,但我对其进行了更改,因此它使用空格而不是制表符。

最佳答案

尝试缩进 def get() 和 def post()

关于python - 405 不允许方法 - 在 Google App Engine 中获取请求,语言 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35967513/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com