因此,使用Google Cloud Endpoints,我们可以创建自定义请求消息并从中创建endpoints.ResourceContainer,如下所示:
Test_Resource = endpoints.ResourceContainer(message_types.VoidMessage,
param1=messages.IntegerField(2, required=False),
param2=messages.StringField(3, required=False))
然后在我们的endpoints.method
中使用它@endpoints.method(Test_Resource, MessageCommon, path='list', http_method='POST', name='list')
def model_list(self, request):
pass
我的问题是,我们可以通过传递包含消息类型的字典来动态创建ResourceContainer。像工厂一样创建ResourceContainer:
def get_resource_container(messageCls, dict):
new_rc = endpoints.ResourceContainer(messageCls)
# How do I add in the dict's properties to the ResourceContainer here
# ...
return new_rc
这有助于不每次都创建新的Message类。我们可以继续重用相同的基类:
Test_RC2 = get_resource_container(message.types.VoidMessage, dict)
@endpoints.method(Test_RC2, MessageCommon, path='list', http_method='POST', name='list')
def model_list(self, request):
pass
我试图搜索ResourceContainer的细节,但似乎没有可用的 这有可能吗?
答案 0 :(得分:0)
如果您想将dict转换为命名参数列表,您可以执行以下操作:endpoints.ResourceContainer(messageCls, **dict)