我正在尝试更新先前定义的端点,如下所示:
class NestedMessage(messages.Message):
foo = messages.StringField(1)
MyResource = endpoints.ResourceContainer(
message_types.VoidMessage,
param1=messages.StringField(1, required=True),
param2=messages.StringField(2),
param3=messages.MessageField(NestedMessage, 3)
)
class MyApi(remote.Service):
@endpoints.method(MyResource, messages.VoidMessage,
path='new', http_method='POST', name='new')
def new(self, request):
# ...
return messages.VoidMessage
我需要从使用ResourceContainer
改为使用Message
类(不清楚将哪个类用于POST
方法)。在
所以我试着更新一下:
^{pr2}$但是当我尝试/_ah/api/explorer
中的端点时,它只显示一个空白页。在我的api上检查discovery.apis.getRest
的结果,新的MyMessage
类没有列出,MyApi.new
方法由于没有资源容器而被阻塞。在
将该方法重命名为其他方法(例如MyApi.create
)可以工作,但是它会破坏MyApi.new
方法。在
有没有办法“强制”云端点更新所有方法?在
编辑这在开发(本地主机)和部署时都适用。在
编辑2问题似乎只发生在API Explorer中。使用更新的端点(例如通过Javascript库)使用工作的、更新的方法。在
编辑3不用等,我已经更新了两个端点方法。现在,它们在API浏览器中都表现得很好,但其中一个在Javascript客户端库中使用时似乎仍然“损坏”(即POST有效负载作为URL查询参数传递,而不是作为JSON主体传递)。另一个行为正常。怎么回事?在
目前没有回答
相关问题 更多 >
编程相关推荐