什么是ResourceContainers以及如何将它们用于Cloud Endpoints?

时间:2013-09-27 10:24:05

标签: google-app-engine google-cloud-endpoints

自Google App Engine 1.8.5开发环境中出现新警告:

WARNING  2013-09-27 10:10:53,035 api_config.py:1768] Method specifies path
parameters but you are not using a ResourceContainer. This will fail in future
releases; please switch to using ResourceContainer as soon as possible.

什么是资源容器以及如何使用它们?

1 个答案:

答案 0 :(得分:9)

他们最近更新了文档以解释此更改:Google App Engine Docs

基本上你要做的是分离请求体和查询/路径参数。

请求正文将是一个普通的messages.Message类,您可以在ResourceContainer中定义任何其他参数。

YOUR_RESOURCE_CONTAINER = endpoints.ResourceContainer(
        MyRequestBodyMessagesClass,
        parameter1=messages.IntegerField(2, required=True)
        parameter2=messages.StringField(3))

此更改应有助于最大限度地减少必要的Message类的数量,因为您也可以主要使用RequestBody-Message for Response-Messages。

注意:如果您使用的是endpoints-proto-datastore,那么就会有open issue