谷歌云端点方法与多个响应消息

Kat*_*lon 5 google-app-engine python-2.7 google-cloud-endpoints

我有一个google can enpoint方法,我需要能够返回a MaleResponseMessage或a FemaleResponseMessage.有没有办法指定诸如with

@endpoints.method(message_types.VoidMessage, [MaleResponseMessage, FemaleResponseMessage])
Run Code Online (Sandbox Code Playgroud)

当然可以选择声明一个超级消息类,比如,PersonResponseMessage包装MaleResponseMessage或者FemaleResponseMessage.但有什么类似于上面的片段?

编辑:

为了实现我自己的提议,我陷入困境.两种消息类型唯一的共同点是请求:完全相同的请求字段(带有额外的布尔值female=true/false)PersonRequest.在MaleResponseMessageFemaleResponseMessage没有共同的领域.所以我使用一个端点方法,正如@bossylobster所示,我在哪里检查

if request.female : # request.female == True
    return get_female(etc, etc)
else: # request.female == False // implies male
    return get_male(etc,etc)
Run Code Online (Sandbox Code Playgroud)

对于回应,我需要类似的东西

class PersonResponse(messages.Message):
  if ??? :
     item = messages.MessageField(MaleResponseMessage,1)
  else:
      item = messages.MessageField(FemaleResponseMessage,1)
Run Code Online (Sandbox Code Playgroud)

我不知道该检查什么???.首先,我想到isinstancetype.但是我该怎么做?以下工作会怎样?

class PersonResponse(messages.Message):
  if type(Message()) == MaleResponseMessage :
     item = messages.MessageField(MaleResponseMessage,1)
  else:
      item = messages.MessageField(FemaleResponseMessage,1)
Run Code Online (Sandbox Code Playgroud)