[英]How can I dynamically create an endpoints ResourceContainer
因此,使用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(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的詳細信息,但似乎沒有可用的內容。
這有可能嗎?
如果要將字典轉換為命名參數列表,可以執行以下操作: endpoints.ResourceContainer(messageCls, **dict)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.