【发布时间】:2013-03-19 18:20:02
【问题描述】:
我正在定义一个为用户建模的端点,如下所示。我可以通过 id 查询用户。但是插入用户时如何获取该ID?我的客户端是用 java 编写的,但我想知道如何使用 python 以及生成的 java 客户端库检索 id。
from google.appengine.ext import endpoints
from google.appengine.ext import ndb
from protorpc import remote
from endpoints_proto_datastore.ndb import EndpointsModel
class User(EndpointsModel):
email = ndb.StringProperty(required=True)
phone_number = ndb.StringProperty()
reg_id = ndb.StringProperty()
created = ndb.DateTimeProperty(auto_now_add=True)
@endpoints.api(name='whereareyoudroid',
version='v1', description='Where Are You Users')
class UserApi(remote.Service):
@User.method(name='user.insert', path='user')
def insert(self, user):
user.put()
return user
@User.method(request_fields=('id',),
path='user/{id}',
http_method='GET', name='user.get')
def get(self, user):
if not User.from_datastore:
raise endpoints.NotFoundException('User not found.')
return user
【问题讨论】:
-
那些额外的前点只是将代码粘贴到问题中的产物吗?如果是,请删除它们
-
是的,vim 的剩菜
-
好的。感谢您修复。同时修复
class. UserApi -
为什么这如此重要?
-
这是一种错误的语法,当你运行你的代码时会产生一个
SyntaxError。我编辑了它,所以它是正确的。其他人可以看到您的代码并从中学习很重要,因此正确的语法是相关的。
标签: python google-app-engine google-cloud-endpoints endpoints-proto-datastore