如何使用 GAE 端点发送对象列表?
How send lists of objects with GAE endpoints?
我在 GAE 的 API 中工作,我正在使用端点(使用 python)。我想要随响应发送的数据是我此时构建的一些对象。因此,为了发送这个对象,我构建了一个 class with ProtoRPC 消息。我想如何发送它们的列表我构建了一个 class 代表一个集合或它们的列表。
这是基础代码:
class Greeting(messages.Message):
"""Greeting that stores a message."""
message = messages.StringField(1)
class GreetingCollection(messages.Message):
"""Collection of Greetings."""
items = messages.MessageField(Greeting, 1, repeated=True)
但是当我想建立一个集合时,我找不到方法。显然,看到文档,我读到我可以构建一个静态集合来发送它,例如:
STORED_GREETINGS = GreetingCollection(items=[
Greeting(message='hello world!'),
Greeting(message='goodbye world!'),
])
但是如果我想动态构建它呢?
在我的例子中,我有一个 return 一个问候语列表的过程,但我没有找到将其转换为一个问候语集合以使用 EndPoints 发送的方法。
return STORED_GREETINGS
也许我正在搜索 类似这样的东西:
(only orientative)
for greeting in greetings:
STORED_GREETINGS.add(greeting)
但我不知道怎么做。
欢迎任何帮助。
非常感谢。
你应该可以做到:
greeting_collection = GreetingCollection()
greeting_collection.items = list_of_greetings
或者,或者:
greeting_collection = GreetingCollection()
greeting_collection.items.extend(iterable_of_greetings)
只需构建一个包含 Greeting 对象的普通列表并将其分配给 GreetingCollection:
greetingItems = []
greetingItems.append(Greeting(message='hello world!'))
greetingItems.append(Greeting(message='goodbye world!'))
...
STORED_GREETINGS = GreetingCollection(items=greetingItems)
我在 GAE 的 API 中工作,我正在使用端点(使用 python)。我想要随响应发送的数据是我此时构建的一些对象。因此,为了发送这个对象,我构建了一个 class with ProtoRPC 消息。我想如何发送它们的列表我构建了一个 class 代表一个集合或它们的列表。
这是基础代码:
class Greeting(messages.Message):
"""Greeting that stores a message."""
message = messages.StringField(1)
class GreetingCollection(messages.Message):
"""Collection of Greetings."""
items = messages.MessageField(Greeting, 1, repeated=True)
但是当我想建立一个集合时,我找不到方法。显然,看到文档,我读到我可以构建一个静态集合来发送它,例如:
STORED_GREETINGS = GreetingCollection(items=[
Greeting(message='hello world!'),
Greeting(message='goodbye world!'),
])
但是如果我想动态构建它呢? 在我的例子中,我有一个 return 一个问候语列表的过程,但我没有找到将其转换为一个问候语集合以使用 EndPoints 发送的方法。
return STORED_GREETINGS
也许我正在搜索 类似这样的东西:
(only orientative)
for greeting in greetings:
STORED_GREETINGS.add(greeting)
但我不知道怎么做。
欢迎任何帮助。 非常感谢。
你应该可以做到:
greeting_collection = GreetingCollection()
greeting_collection.items = list_of_greetings
或者,或者:
greeting_collection = GreetingCollection()
greeting_collection.items.extend(iterable_of_greetings)
只需构建一个包含 Greeting 对象的普通列表并将其分配给 GreetingCollection:
greetingItems = []
greetingItems.append(Greeting(message='hello world!'))
greetingItems.append(Greeting(message='goodbye world!'))
...
STORED_GREETINGS = GreetingCollection(items=greetingItems)