我有一个类,其中包含一个写入数据存储的方法。我可以用它从我的web上写入数据存储,但是我不知道如何将它用于我的API文章。你知道吗
你知道吗数据存储写入.py地址:
from endpoints_proto_datastore.ndb import EndpointsModel
from google.appengine.ext import ndb
def person_timestamp_key(person_timestamp):
return ndb.Key('Person Timestamp', person_timestamp)
class Person(EndpointsModel):
name = ndb.StringProperty(indexed=False)
timestamp = ndb.DateTimeProperty(auto_now_add=True)
def do_insert(self, name):
person_timestamp = 'person_timestamp'
# Sets entity
person = Person(parent=person_timestamp_key(person_timestamp))
person.name = name
person.put()
你知道吗网络应用程序.py-当从webapp提交时,这将成功地将条目添加到我的数据存储中:
def post(self):
name = self.request.get('name')
person = DatastoreWrite.Person()
if name and not name.isspace():
person.do_insert(name)
self.redirect('/')
你知道吗api.py公司-我在这里试过一百种不同的方法。这就是我目前所拥有的。结果为“BadValueError:Expected string,Get Person()”:
class Api(remote.Service):
@Person.method(path='api', http_method='POST', name='person.insert')
def PersonInsert(self, person):
person = DatastoreWrite.Person()
person.do_insert(person)
return person
更新:另一次尝试-失败,错误为“BadValueError:Expected string,Get Person(name=u'Atlas')”:
@DatastoreWrite.Person.method(path='healthsecure', http_method='POST', name='person.insert')
def PersonInsert(self, name):
person = DatastoreWrite.Person()
person.do_insert(name)
return person
do\u insert函数有一个签名
def do_insert(self, name)
,它要求name作为一个字符串参数,而您将person作为参数person.do_insert(person)
发送。你知道吗解决方案:
相关问题 更多 >
编程相关推荐