【发布时间】:2017-01-21 04:29:56
【问题描述】:
错误: ApiConfigurationError:尝试使用不兼容的多个类实现服务回显,版本 v2。有关如何实现多类 API 的示例,请参阅 api() 的文档字符串。
代码:
import logging
import endpoints
from protorpc import message_types
from protorpc import messages
from protorpc import remote
class EchoRequest(messages.Message):
content = messages.StringField(1)
class EchoResponse(messages.Message):
content = messages.StringField(1)
ECHO_RESOURCE = endpoints.ResourceContainer(
EchoRequest, n=messages.IntegerField(2, default=1))
@endpoints.api(name='echo', version='v1',description='description')
class EchoApi(remote.Service):
@endpoints.method(
# This method takes a ResourceContainer defined above.
ECHO_RESOURCE,
# This method returns an Echo message.
EchoResponse,
path='echo',
http_method='POST',
name='echo')
def echo(self, request):
logging.info("echo1"+ str(request.content))
output_content = ' '.join([request.content] * request.n)
return EchoResponse(content=output_content)
@endpoints.api(name='echo', version='v2', description='description2')
class EchoApi2(remote.Service):
@endpoints.method(
# This method takes a ResourceContainer defined above.
ECHO_RESOURCE,
# This method returns an Echo message.
EchoResponse,
path='echo',
http_method='POST',
name='echo')
def echo(self, request):
logging.info("echo2" + str(request.content))
output_content = ' '.join([request.content] * request.n)
return EchoResponse(content=output_content)
api = endpoints.api_server([EchoApi, EchoApi2])
如果只有:版本='v1' (EchoApi)
ERROR if: version='v2' is added (EchoApi2)
错误代码:ApiConfigurationError:尝试使用不兼容的多个类实现服务回显,版本 v2。有关如何实现多类 API 的示例,请参阅 api() 的文档字符串。
谢谢。
【问题讨论】:
标签: python google-app-engine google-cloud-endpoints